public override void VisitConcreteMethodDeclaration(ConcreteMethodDeclarationSyntaxNode node) { _insideMethod = 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.VisitConcreteMethodDeclaration(node); _variableAssignments = null; _insideMethod = false; }
public override void VisitConcreteMethodDeclaration(ConcreteMethodDeclarationSyntaxNode node) { AddToken(node.FunctionKeyword, _scheme.Keyword); Visit(node.OutputDescription); Visit(node.InputDescription); Visit(node.Commas); Visit(node.Body); Visit(node.EndKeyword); }
public override void VisitConcreteMethodDeclaration(ConcreteMethodDeclarationSyntaxNode node) { OutputKeyword(node.FunctionKeyword); Visit(node.OutputDescription); BoldOn(); Visit(node.Name); BoldOff(); Visit(node.InputDescription); Visit(node.Commas); Visit(node.Body); Visit(node.EndKeyword); }
private static MMethod MethodFromDefinition(ConcreteMethodDeclarationSyntaxNode methodDefinition) { var name = methodDefinition.Name.Text; var description = ""; description += string.Join("", methodDefinition.LeadingTrivia.Select(x => x.FullText)); if (methodDefinition.Body == null) { description += string.Join("", methodDefinition.EndKeyword.LeadingTrivia.Select(x => x.FullText)); } else { description += string.Join("", methodDefinition.Body.LeadingTrivia.Select(x => x.FullText)); } return(new MMethod(name, description)); }
public override void VisitConcreteMethodDeclaration(ConcreteMethodDeclarationSyntaxNode node) { _insideMethod = true; base.VisitConcreteMethodDeclaration(node); _insideMethod = false; }
public virtual void VisitConcreteMethodDeclaration(ConcreteMethodDeclarationSyntaxNode node) { DefaultVisit(node); }