Beispiel #1
0
        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);
        }
Beispiel #2
0
 public override void EnterMethodDeclaration(JavaParser.MethodDeclarationContext context)
 {
     ParseMethodFromContext(
         context.formalParameters(),
         context.typeTypeOrVoid(),
         context.qualifiedNameList(),
         context.IDENTIFIER().GetText(),
         context.GetFullText());
 }
Beispiel #3
0
        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);
        }