コード例 #1
0
ファイル: YSyntaxWalker.cs プロジェクト: m039/SharpCpp
        public void Walk(YSyntaxNode node)
        {
            if (guardNode == null)
            {
                guardNode = node;
                OnPreWalk();
            }

            if (node is YNamespace)
            {
                Visit((YNamespace)node);
            }
            else if (node is YClass)
            {
                Visit((YClass)node);
            }
            else if (node is YMethod)
            {
                Visit((YMethod)node);
            }
            else if (node is YField)
            {
                Visit((YField)node);
            }

            foreach (var n in node.Nodes)
            {
                Walk(n);
            }

            if (guardNode == node)
            {
                OnPostWalk();
                guardNode = null;
            }
        }
コード例 #2
0
ファイル: YRoot.cs プロジェクト: m039/SharpCpp
 public void AddChild(YSyntaxNode node)
 {
     _Namespaces.Add(node);
 }
コード例 #3
0
ファイル: YSymbol.cs プロジェクト: m039/SharpCpp
 public virtual void AddChild(YSyntaxNode node)
 {
     _Nodes.Add(node);
 }