Exemplo n.º 1
0
        public override void VisitFunctionDeclaration(FunctionDeclarationSyntaxNode node)
        {
            _insideFunction      = true;
            _variableAssignments = new VariableAssignments();
            var parameterList = node.InputDescription.ParameterList;

            foreach (var parameter in parameterList)
            {
                if (parameter.IsNode)
                {
                    var parameterAsNode = parameter.AsNode();
                    Console.WriteLine($"Parameter node: {parameterAsNode}");
                    if (parameterAsNode.Kind == TokenKind.IdentifierNameExpression)
                    {
                        Console.WriteLine($"Adding variable assignment for {parameterAsNode.Text}");
                        _variableAssignments.Add(parameterAsNode.Text, new Variable());
                    }
                    else
                    {
                        Console.WriteLine($"Don't know how to add assignment for {parameterAsNode.Text}");
                    }
                }
                else
                {
                    Console.WriteLine($"Parameter token: {parameter.AsToken()}");
                }
            }
            base.VisitFunctionDeclaration(node);
            _variableAssignments = null;
            _insideFunction      = false;
        }
Exemplo n.º 2
0
 public void AddVariableAssignment(string memberName, object memberValue)
 {
     VariableAssignments.Add(memberName, memberValue);
 }