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; }
public override void VisitFunctionDeclaration(FunctionDeclarationSyntaxNode node) { AddToken(node.FunctionKeyword, _scheme.Keyword); Visit(node.OutputDescription); AddToken(node.Name, _scheme.Identifier); Visit(node.InputDescription); Visit(node.Commas); Visit(node.Body); Visit(node.EndKeyword); }
public override void VisitFunctionDeclaration(FunctionDeclarationSyntaxNode node) { OutputKeyword(node.FunctionKeyword); Visit(node.OutputDescription); OutputIdentifier(node.Name); Visit(node.InputDescription); Visit(node.Commas); Visit(node.Body); Visit(node.EndKeyword); }
public virtual void VisitFunctionDeclaration(FunctionDeclarationSyntaxNode node) { DefaultVisit(node); }