private List <SyntaxError> ParseAndReturnErrors(string input) { AntlrInputStream inputStream = new AntlrInputStream(input); CsharpSubsetLexer lexer = new CsharpSubsetLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(lexer); CsharpSubsetParser parser = new CsharpSubsetParser(commonTokenStream); SyntaxErrorListener listener = new SyntaxErrorListener(); parser.AddErrorListener(listener); CsharpSubsetParser.ProgramContext programContext = parser.program(); return(listener.SyntaxErrors); }
private void ParseCode(string codeString) { InputStream = new AntlrInputStream(codeString); Lexer = new CsharpSubsetLexer(InputStream); CommonTokenStream = new CommonTokenStream(Lexer); Parser = new CsharpSubsetParser(CommonTokenStream); SyntaxErrorListener errorListener = new SyntaxErrorListener(); Parser.AddErrorListener(errorListener); Tree = Parser.program(); if (errorListener.SyntaxErrors.Any()) { _logOutput.Add("Couldn't refactor, one or more syntax errors occurred:"); foreach (var error in errorListener.SyntaxErrors) { _logOutput.Add(error.AsString()); } SyntaxErrorsFound = true; Tree = null; } }
/// <summary> /// Exit a parse tree produced by <see cref="CsharpSubsetParser.program"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitProgram([NotNull] CsharpSubsetParser.ProgramContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="CsharpSubsetParser.program"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitProgram([NotNull] CsharpSubsetParser.ProgramContext context) { return(VisitChildren(context)); }