Skip to content

Instantly share code, notes, and snippets.

@rifatx
Created October 20, 2021 10:47
Show Gist options
  • Save rifatx/da68e0728b4a38ef4e24b2ac138acf96 to your computer and use it in GitHub Desktop.
Save rifatx/da68e0728b4a38ef4e24b2ac138acf96 to your computer and use it in GitHub Desktop.
ANTLR PlSqlParser VisitOpen_for_statement overload
public override object VisitOpen_for_statement(PlSqlParser.Open_for_statementContext context)
{
if (context.select_statement() != null)
{
Columns.AddRange(GetColumns(context.select_statement()));
}
else
{
if (context.expression()?.GetText() is var queryVar && !string.IsNullOrEmpty(queryVar) &&
_assignments.ContainsKey(queryVar))
{
Columns.AddRange(GetColumns(Utils.CreatePlSqlParser(_assignments[queryVar])
.select_statement()));
}
}
return null;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment