Exemple #1
0
        public void Visit(FuncCallParamsNode n)
        {
            var children = n.GetChildren();

            ITable      statementsSymTable;
            ASTNodeBase currentNode = n;

            while (!(currentNode is StatementsNode))
            {
                currentNode = currentNode.ParentNode;
                if (currentNode == null)
                {
                    throw new Exception("StatementsNode is somehow not a distant parent of this node...");
                }
            }

            statementsSymTable = currentNode.SymTable;

            foreach (var node in children)
            {
                node.SymTable = statementsSymTable;
                node.Accept(this);
            }

            foreach (var child in children)
            {
                n.ParamsTypes.Add(child.ExprType);
            }
        }
Exemple #2
0
 public void Visit(FuncCallParamsNode n)
 {
     PrintDOTIDLabel(n);
     PrintDOTParentChild(n);
     foreach (var child in n.GetChildren())
     {
         child.Accept(this);
     }
 }
        public void Visit(FuncCallParamsNode n)
        {
            var children = n.GetChildren();

            foreach (var child in children)
            {
                child.Accept(this);
            }
        }
        public void Visit(FuncCallParamsNode n)
        {
            var children = n.GetChildren();

            foreach (var child in children)
            {
                child.Accept(this);
                n.ParamTempVarNames.Add(child.TemporaryVariableName);
            }
        }