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); }
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); }
public void SetUp() { _methodListener = new MethodListener(new StatementListener()); }