internal static SqlParseResult ParsePlSql(string sql) { var result = new SqlParseResult(); try { var plSqlParser = MakeParser(sql, message => result.Messages.Add(message)); var tree = plSqlParser.compilationUnit(); var visitor = new PlSqlStatementVisitor(result); visitor.Visit(tree); } catch (Exception ex) { result.Messages.Add(new SqlParseMessage($"Critical error while parsing: {ex.Message}", SqlParseMessageLevel.Error)); } return(result); }
public PlSqlStatementVisitor(SqlParseResult result) { this.result = result; }