示例#1
0
 private static void RecursiveChildTraversal(List <ParseTreeNode> leafNodes, ParseTreeNode node)
 {
     if (node.ChildNodes.Count == 0)
     {
         leafNodes.Add(node);
         return;
     }
     foreach (ParseTreeNode current in node.ChildNodes)
     {
         LuaParamListNode.RecursiveChildTraversal(leafNodes, current);
     }
 }
示例#2
0
        public override void Init(ParsingContext context, ParseTreeNode treeNode)
        {
            base.Init(context, treeNode);
            Node     = treeNode;
            EndToken = context.CurrentToken;
            List <ParseTreeNode> list = new List <ParseTreeNode>();

            if (treeNode.ChildNodes.Count > 0)
            {
                LuaParamListNode.RecursiveChildTraversal(list, treeNode);
            }
            AsString = " (";
            int num = 0;

            foreach (ParseTreeNode current in list)
            {
                AddChild("Parameter", current);
                AsString += ((num == 0) ? current.ToString() : (", " + current));
                num++;
            }
            AsString += ")";
        }