public override void EnterMethodDeclaration([NotNull] JavaParser.MethodDeclarationContext context) { Logger.Debug("parsing method"); var inputStream = context.Start.InputStream; var interval = new Interval(context.Start.StartIndex, context.Stop.StopIndex); var parameters = context.formalParameters()?.formalParameterList()?.formalParameter(); Method methodModel = new Method(_currentClass, context.Identifier()?.GetText(), inputStream.GetText(interval)); if (parameters != null) { foreach (var param in parameters) { methodModel.AddParameter(param.GetText()); } } if (_currentClass != null) { _currentClass.AddMethod(methodModel); } _statementListener.setCurrentMethod(methodModel); InvokeParseInfoUpdate("Parsing method: " + methodModel.Name); }
public override void EnterMethodDeclaration(JavaParser.MethodDeclarationContext context) { ParseMethodFromContext( context.formalParameters(), context.typeTypeOrVoid(), context.qualifiedNameList(), context.IDENTIFIER().GetText(), context.GetFullText()); }
public UstNode VisitMethodDeclaration(JavaParser.MethodDeclarationContext context) { JavaParser.TypeTypeOrVoidContext type = context.typeTypeOrVoid(); ITerminalNode child0Terminal = context.GetChild <ITerminalNode>(0); ITerminalNode identifier = context.IDENTIFIER(); JavaParser.FormalParametersContext formalParameters = context.formalParameters(); JavaParser.BlockContext methodBody = context.methodBody().block(); MethodDeclaration result = ConvertMethodDeclaration(type, child0Terminal, identifier, formalParameters, methodBody, context.GetTextSpan()); return(result); }