コード例 #1
0
ファイル: AST.cs プロジェクト: seasailor/designscript
 public void AddElementNode(Node n, string name)
 {
     ElementNodes.Add(n);
     if ("" != name)
     {
         AtNames.Add(name, n);
         BinaryExpressionNode o = n as BinaryExpressionNode;
         IdentifierNode       t = o.LeftNode as IdentifierNode;
         BinaryExpressionNode e = new BinaryExpressionNode();
         e.LeftNode = new IdentifierNode()
         {
             Value = name, Name = name, type = t.type, datatype = t.datatype
         };
         e.RightNode = t;
         e.Optr      = ProtoCore.DSASM.Operator.assign;
         ElementNodes.Add(e);
     }
 }
コード例 #2
0
 public void AddElementNode(Node n, string name)
 {
     ElementNodes.Add(n);
     if (!string.IsNullOrEmpty(name))
     {
         if (!AtNames.ContainsKey(name))
         {
             AtNames.Add(name, n);
             BinaryExpressionNode o = n as BinaryExpressionNode;
             IdentifierNode       t = o.LeftNode as IdentifierNode;
             BinaryExpressionNode e = new BinaryExpressionNode();
             e.LeftNode = new IdentifierNode()
             {
                 Name = name
             };
             e.RightNode = t;
             ElementNodes.Add(e);
         }
     }
 }
コード例 #3
0
ファイル: DocumentViewModel.cs プロジェクト: lance2088/sil
        private void BuildViewModel(DisassembledAssembly disassembledAssembly)
        {
            ElementNodes.Clear();
            SelectedElementNode = null;

            //  Create a full document node.
            var assemblyNode = new ElementNodeViewModel(disassembledAssembly)
            {
                Name            = Path,
                DisplayName     = DocumentTitle,
                ElementNodeType = ElementNodeType.Assembly,
                Content         = disassembledAssembly.RawIL
            };

            //  Add the child node.
            foreach (var className in disassembledAssembly.Classes.OrderBy(c => c.ShortName))
            {
                assemblyNode.Nodes.Add(BuildElementNode(className));
            }
            foreach (var className in disassembledAssembly.Structures.OrderBy(c => c.ShortName))
            {
                assemblyNode.Nodes.Add(BuildElementNode(className));
            }
            foreach (var className in disassembledAssembly.Interfaces.OrderBy(c => c.ShortName))
            {
                assemblyNode.Nodes.Add(BuildElementNode(className));
            }
            foreach (var className in disassembledAssembly.Enumerations.OrderBy(c => c.ShortName))
            {
                assemblyNode.Nodes.Add(BuildElementNode(className));
            }
            foreach (var className in disassembledAssembly.Delegates.OrderBy(c => c.ShortName))
            {
                assemblyNode.Nodes.Add(BuildElementNode(className));
            }

            ElementNodes.Add(assemblyNode);
        }