public override void EnterClassDeclaration([NotNull] SomeLanguageParser.ClassDeclarationContext context)
            {
                string         className      = context.className().GetText();
                MethodListener methodListener = new MethodListener();

                foreach (var method in context.method())
                {
                    method.EnterRule(methodListener);
                }
                List <Method> methods = methodListener.getMethods();

                parsedClass = new ClassObject(className, methods);
            }
示例#2
0
        List <MethodInfo> GetMethodInfos()
        {
            var lexer = XSharpLexer.Create(SourceCodeFile.SourceCode, SourceCodeFile.FileName);

            lexer.RemoveErrorListeners();

            var tokenStream = new CommonTokenStream(lexer, 0);
            var parser      = new XSharpParser(tokenStream);

            parser.Options = new XSharpParseOptions();
            parser.Options.SetXSharpSpecificOptions(XSharpSpecificCompilationOptions.Default);
            parser.RemoveErrorListeners();

            var source   = parser.source();
            var listener = new MethodListener();

            new ParseTreeWalker().Walk(listener, source);

            return(listener.MethodList);
        }
示例#3
0
 public void SetUp()
 {
     _methodListener = new MethodListener(new StatementListener());
 }