UNPKG

flink-sql-language-server

Version:

A LSP-based language server for Apache Flink SQL

784 lines (783 loc) 44.6 kB
import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; import { ColumnReferenceContext } from "./FlinkSQLParser"; import { StarContext } from "./FlinkSQLParser"; import { DereferenceContext } from "./FlinkSQLParser"; import { LogicalNotContext } from "./FlinkSQLParser"; import { ExistsContext } from "./FlinkSQLParser"; import { PredicatedContext } from "./FlinkSQLParser"; import { LogicalBinaryContext } from "./FlinkSQLParser"; import { ValueExpressionDefaultContext } from "./FlinkSQLParser"; import { ArithmeticUnaryContext } from "./FlinkSQLParser"; import { ArithmeticBinaryContext } from "./FlinkSQLParser"; import { ComparisonContext } from "./FlinkSQLParser"; import { ProgramContext } from "./FlinkSQLParser"; import { StatementsContext } from "./FlinkSQLParser"; import { StatementContext } from "./FlinkSQLParser"; import { StatementEndContext } from "./FlinkSQLParser"; import { EndContext } from "./FlinkSQLParser"; import { AutoOptimizeContext } from "./FlinkSQLParser"; import { AutoOptimizeTableContext } from "./FlinkSQLParser"; import { AutoOptimizeDatabaseContext } from "./FlinkSQLParser"; import { AnalyzeContext } from "./FlinkSQLParser"; import { QueryContext } from "./FlinkSQLParser"; import { QueryTermContext } from "./FlinkSQLParser"; import { QueryPrimaryContext } from "./FlinkSQLParser"; import { CtesContext } from "./FlinkSQLParser"; import { MapQueryContext } from "./FlinkSQLParser"; import { QueryOrderByContext } from "./FlinkSQLParser"; import { QueryLimitContext } from "./FlinkSQLParser"; import { QueryOffsetContext } from "./FlinkSQLParser"; import { QueryFetchContext } from "./FlinkSQLParser"; import { WithItemContext } from "./FlinkSQLParser"; import { OrderItemContext } from "./FlinkSQLParser"; import { SelectClauseContext } from "./FlinkSQLParser"; import { SelectContext } from "./FlinkSQLParser"; import { ProjectItemsContext } from "./FlinkSQLParser"; import { FromTableContext } from "./FlinkSQLParser"; import { WhereContext } from "./FlinkSQLParser"; import { GroupByContext } from "./FlinkSQLParser"; import { GroupItemsContext } from "./FlinkSQLParser"; import { HavingContext } from "./FlinkSQLParser"; import { WindowSelectContext } from "./FlinkSQLParser"; import { ProjectItemContext } from "./FlinkSQLParser"; import { SetQuantifierContext } from "./FlinkSQLParser"; import { TableExpressionContext } from "./FlinkSQLParser"; import { TableExprContext } from "./FlinkSQLParser"; import { MapTableContext } from "./FlinkSQLParser"; import { JoinConditionContext } from "./FlinkSQLParser"; import { CommaTableContext } from "./FlinkSQLParser"; import { TableReferenceContext } from "./FlinkSQLParser"; import { TableDimContext } from "./FlinkSQLParser"; import { TablePrimaryContext } from "./FlinkSQLParser"; import { TableSourceContext } from "./FlinkSQLParser"; import { TableLateralContext } from "./FlinkSQLParser"; import { TableQueryContext } from "./FlinkSQLParser"; import { HintsContext } from "./FlinkSQLParser"; import { HintContext } from "./FlinkSQLParser"; import { HintOptionsContext } from "./FlinkSQLParser"; import { HintKVOptionContext } from "./FlinkSQLParser"; import { OptionValueContext } from "./FlinkSQLParser"; import { OptionNameContext } from "./FlinkSQLParser"; import { PivotContext } from "./FlinkSQLParser"; import { PivotAggsContext } from "./FlinkSQLParser"; import { ForPivotListContext } from "./FlinkSQLParser"; import { PivotAggContext } from "./FlinkSQLParser"; import { PivotListContext } from "./FlinkSQLParser"; import { ColumnOrListContext } from "./FlinkSQLParser"; import { ExprOrListContext } from "./FlinkSQLParser"; import { InPivotExprsContext } from "./FlinkSQLParser"; import { PivotExprsContext } from "./FlinkSQLParser"; import { PivotExprContext } from "./FlinkSQLParser"; import { UnpivotContext } from "./FlinkSQLParser"; import { UnpivotMeasureListContext } from "./FlinkSQLParser"; import { UnpivotAxisListContext } from "./FlinkSQLParser"; import { UnpivotValueContext } from "./FlinkSQLParser"; import { ValuesContext } from "./FlinkSQLParser"; import { ValuesRowsContext } from "./FlinkSQLParser"; import { ValuesRowsParenthesisContext } from "./FlinkSQLParser"; import { ValueRowContext } from "./FlinkSQLParser"; import { GroupItemContext } from "./FlinkSQLParser"; import { GroupingSetsContext } from "./FlinkSQLParser"; import { ParenthesisGroupItemsContext } from "./FlinkSQLParser"; import { WindowContext } from "./FlinkSQLParser"; import { WindowSpecContext } from "./FlinkSQLParser"; import { RangeOrRowsContext } from "./FlinkSQLParser"; import { SetStatementContext } from "./FlinkSQLParser"; import { ResetStatementContext } from "./FlinkSQLParser"; import { AlterContext } from "./FlinkSQLParser"; import { AlterTableContext } from "./FlinkSQLParser"; import { AlterViewContext } from "./FlinkSQLParser"; import { AlterDatabaseContext } from "./FlinkSQLParser"; import { AlterFunctionContext } from "./FlinkSQLParser"; import { AlterMaterializedTableContext } from "./FlinkSQLParser"; import { RenameToContext } from "./FlinkSQLParser"; import { SetValuesContext } from "./FlinkSQLParser"; import { ExplainContext } from "./FlinkSQLParser"; import { ExplainDetailsContext } from "./FlinkSQLParser"; import { ExplainDetailContext } from "./FlinkSQLParser"; import { DescribeContext } from "./FlinkSQLParser"; import { DescribeCatalogContext } from "./FlinkSQLParser"; import { DescribeDatabaseContext } from "./FlinkSQLParser"; import { DescribeTableContext } from "./FlinkSQLParser"; import { InsertContext } from "./FlinkSQLParser"; import { PartitionContext } from "./FlinkSQLParser"; import { InsertMultipleContext } from "./FlinkSQLParser"; import { ExecuteStatementSetContext } from "./FlinkSQLParser"; import { BeginStatementSetContext } from "./FlinkSQLParser"; import { UseContext } from "./FlinkSQLParser"; import { ShowContext } from "./FlinkSQLParser"; import { DdlStatementContext } from "./FlinkSQLParser"; import { CreateContext } from "./FlinkSQLParser"; import { CreateTableContext } from "./FlinkSQLParser"; import { CreateMaterializedTableContext } from "./FlinkSQLParser"; import { DefineValuesContext } from "./FlinkSQLParser"; import { PartitionedByContext } from "./FlinkSQLParser"; import { DistributedByContext } from "./FlinkSQLParser"; import { IntoBucketsContext } from "./FlinkSQLParser"; import { WithValuesContext } from "./FlinkSQLParser"; import { LikeTableContext } from "./FlinkSQLParser"; import { AsTableContext } from "./FlinkSQLParser"; import { FreshnessContext } from "./FlinkSQLParser"; import { RefreshModeContext } from "./FlinkSQLParser"; import { TableElementContext } from "./FlinkSQLParser"; import { ColumnDefinitionContext } from "./FlinkSQLParser"; import { ColumnConstraintContext } from "./FlinkSQLParser"; import { TableConstraintContext } from "./FlinkSQLParser"; import { WatermarkDefinitionContext } from "./FlinkSQLParser"; import { LikeConfigContext } from "./FlinkSQLParser"; import { LikeOptionsContext } from "./FlinkSQLParser"; import { LikeOptionContext } from "./FlinkSQLParser"; import { CreateCatalogContext } from "./FlinkSQLParser"; import { CreateDatabaseContext } from "./FlinkSQLParser"; import { AsDatabaseContext } from "./FlinkSQLParser"; import { IncludingTableContext } from "./FlinkSQLParser"; import { ExcludingTableContext } from "./FlinkSQLParser"; import { CreateViewContext } from "./FlinkSQLParser"; import { CreateFunctionContext } from "./FlinkSQLParser"; import { DropContext } from "./FlinkSQLParser"; import { DropTableContext } from "./FlinkSQLParser"; import { DropDatabaseContext } from "./FlinkSQLParser"; import { DropViewContext } from "./FlinkSQLParser"; import { DropFunctionContext } from "./FlinkSQLParser"; import { DropMaterializedTableContext } from "./FlinkSQLParser"; import { AddJarContext } from "./FlinkSQLParser"; import { ModuleStatementContext } from "./FlinkSQLParser"; import { LoadModuleContext } from "./FlinkSQLParser"; import { UnloadModuleContext } from "./FlinkSQLParser"; import { UseModulesContext } from "./FlinkSQLParser"; import { ShowModulesContext } from "./FlinkSQLParser"; import { TypeContext } from "./FlinkSQLParser"; import { TypeNameContext } from "./FlinkSQLParser"; import { SqlTypeNameContext } from "./FlinkSQLParser"; import { CollectionsTypeNameContext } from "./FlinkSQLParser"; import { CharContext } from "./FlinkSQLParser"; import { VarcharContext } from "./FlinkSQLParser"; import { DecimalContext } from "./FlinkSQLParser"; import { VarbinaryContext } from "./FlinkSQLParser"; import { RowTypeContext } from "./FlinkSQLParser"; import { SystemFunctionContext } from "./FlinkSQLParser"; import { JsonFunctionContext } from "./FlinkSQLParser"; import { JsonExistsFunctionContext } from "./FlinkSQLParser"; import { JsonValueFunctionContext } from "./FlinkSQLParser"; import { JsonQueryFunctionContext } from "./FlinkSQLParser"; import { JsonValueContext } from "./FlinkSQLParser"; import { PathContext } from "./FlinkSQLParser"; import { JsonObjectFunctionContext } from "./FlinkSQLParser"; import { JsonObjectAggFunctionContext } from "./FlinkSQLParser"; import { JsonArrayFunctionContext } from "./FlinkSQLParser"; import { JsonArrayAggFunctionContext } from "./FlinkSQLParser"; import { JsonKeyValContext } from "./FlinkSQLParser"; import { JsonValContext } from "./FlinkSQLParser"; import { NullBehaviorContext } from "./FlinkSQLParser"; import { TemporalFunctionContext } from "./FlinkSQLParser"; import { TemporalOverlapsContext } from "./FlinkSQLParser"; import { TemporalDateContext } from "./FlinkSQLParser"; import { TemporalTimeContext } from "./FlinkSQLParser"; import { TemporalTimestampContext } from "./FlinkSQLParser"; import { YearMonthIntervalContext } from "./FlinkSQLParser"; import { DayTimeIntervalContext } from "./FlinkSQLParser"; import { YearUnitContext } from "./FlinkSQLParser"; import { MonthUnitContext } from "./FlinkSQLParser"; import { DayUnitContext } from "./FlinkSQLParser"; import { HourUnitContext } from "./FlinkSQLParser"; import { MinuteUnitContext } from "./FlinkSQLParser"; import { SecondUnitContext } from "./FlinkSQLParser"; import { TimeIntervalUnitContext } from "./FlinkSQLParser"; import { TimePointUnitContext } from "./FlinkSQLParser"; import { AggregateWithinContext } from "./FlinkSQLParser"; import { AggregateFilterContext } from "./FlinkSQLParser"; import { AggregateNullsContext } from "./FlinkSQLParser"; import { OverWindowContext } from "./FlinkSQLParser"; import { ExpressionsContext } from "./FlinkSQLParser"; import { ParenthesisExpressionsContext } from "./FlinkSQLParser"; import { ParenthesisQueryContext } from "./FlinkSQLParser"; import { ColumnAssignmentsContext } from "./FlinkSQLParser"; import { ColumnAssignmentContext } from "./FlinkSQLParser"; import { ValueAssignmentsContext } from "./FlinkSQLParser"; import { ValueAssignmentContext } from "./FlinkSQLParser"; import { ColumnsContext } from "./FlinkSQLParser"; import { ColumnsWithoutParenthesisContext } from "./FlinkSQLParser"; import { CommentContext } from "./FlinkSQLParser"; import { OrderByContext } from "./FlinkSQLParser"; import { OrderItemsContext } from "./FlinkSQLParser"; import { PartitionByContext } from "./FlinkSQLParser"; import { MatchRecognizeContext } from "./FlinkSQLParser"; import { MeasuresContext } from "./FlinkSQLParser"; import { MeasureColumnsContext } from "./FlinkSQLParser"; import { PerMatchContext } from "./FlinkSQLParser"; import { AfterMatchContext } from "./FlinkSQLParser"; import { PatternMatchContext } from "./FlinkSQLParser"; import { WithinMatchContext } from "./FlinkSQLParser"; import { SubsetMatchContext } from "./FlinkSQLParser"; import { SubsetItemsContext } from "./FlinkSQLParser"; import { SubsetItemContext } from "./FlinkSQLParser"; import { DefineMatchContext } from "./FlinkSQLParser"; import { DefineItemsContext } from "./FlinkSQLParser"; import { DefineItemContext } from "./FlinkSQLParser"; import { MeasureColumnContext } from "./FlinkSQLParser"; import { PatternContext } from "./FlinkSQLParser"; import { PatternTermContext } from "./FlinkSQLParser"; import { PatternFactorContext } from "./FlinkSQLParser"; import { PatternPrimaryContext } from "./FlinkSQLParser"; import { PatternQuantifierContext } from "./FlinkSQLParser"; import { AliasContext } from "./FlinkSQLParser"; import { AliasesContext } from "./FlinkSQLParser"; import { KeywordContext } from "./FlinkSQLParser"; import { AnyNameContext } from "./FlinkSQLParser"; import { AnyNonStringNameContext } from "./FlinkSQLParser"; import { ArrowWindowFunctionContext } from "./FlinkSQLParser"; import { CharsetIntroducerContext } from "./FlinkSQLParser"; import { CharsetLiteralContext } from "./FlinkSQLParser"; import { LiteralValueContext } from "./FlinkSQLParser"; import { WhenExprContext } from "./FlinkSQLParser"; import { ThenExprContext } from "./FlinkSQLParser"; import { ElseExprContext } from "./FlinkSQLParser"; import { CaseEndContext } from "./FlinkSQLParser"; import { ArrayConstructContext } from "./FlinkSQLParser"; import { CompareContext } from "./FlinkSQLParser"; import { LogicalBindContext } from "./FlinkSQLParser"; import { PredicateContext } from "./FlinkSQLParser"; import { ExprContext } from "./FlinkSQLParser"; import { BooleanExprContext } from "./FlinkSQLParser"; import { ValueExprContext } from "./FlinkSQLParser"; import { SubQueryContext } from "./FlinkSQLParser"; import { FunctionCallContext } from "./FlinkSQLParser"; import { PrimaryExprContext } from "./FlinkSQLParser"; import { StringContext } from "./FlinkSQLParser"; import { NameContext } from "./FlinkSQLParser"; import { ColumnNameContext } from "./FlinkSQLParser"; import { TableNameContext } from "./FlinkSQLParser"; import { DatabaseNameContext } from "./FlinkSQLParser"; import { CatalogNameContext } from "./FlinkSQLParser"; import { ViewNameContext } from "./FlinkSQLParser"; import { FunctionNameContext } from "./FlinkSQLParser"; import { ColumnContext } from "./FlinkSQLParser"; import { ViewContext } from "./FlinkSQLParser"; import { TableContext } from "./FlinkSQLParser"; import { DatabaseContext } from "./FlinkSQLParser"; import { CatalogContext } from "./FlinkSQLParser"; import { ReservedKeywordsContext } from "./FlinkSQLParser"; import { NonReservedKeywordsContext } from "./FlinkSQLParser"; import { CommonKeywordsContext } from "./FlinkSQLParser"; export interface FlinkSQLParserListener extends ParseTreeListener { enterColumnReference?: (ctx: ColumnReferenceContext) => void; exitColumnReference?: (ctx: ColumnReferenceContext) => void; enterStar?: (ctx: StarContext) => void; exitStar?: (ctx: StarContext) => void; enterDereference?: (ctx: DereferenceContext) => void; exitDereference?: (ctx: DereferenceContext) => void; enterLogicalNot?: (ctx: LogicalNotContext) => void; exitLogicalNot?: (ctx: LogicalNotContext) => void; enterExists?: (ctx: ExistsContext) => void; exitExists?: (ctx: ExistsContext) => void; enterPredicated?: (ctx: PredicatedContext) => void; exitPredicated?: (ctx: PredicatedContext) => void; enterLogicalBinary?: (ctx: LogicalBinaryContext) => void; exitLogicalBinary?: (ctx: LogicalBinaryContext) => void; enterValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void; exitValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void; enterArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void; exitArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void; enterArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void; exitArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void; enterComparison?: (ctx: ComparisonContext) => void; exitComparison?: (ctx: ComparisonContext) => void; enterProgram?: (ctx: ProgramContext) => void; exitProgram?: (ctx: ProgramContext) => void; enterStatements?: (ctx: StatementsContext) => void; exitStatements?: (ctx: StatementsContext) => void; enterStatement?: (ctx: StatementContext) => void; exitStatement?: (ctx: StatementContext) => void; enterStatementEnd?: (ctx: StatementEndContext) => void; exitStatementEnd?: (ctx: StatementEndContext) => void; enterEnd?: (ctx: EndContext) => void; exitEnd?: (ctx: EndContext) => void; enterAutoOptimize?: (ctx: AutoOptimizeContext) => void; exitAutoOptimize?: (ctx: AutoOptimizeContext) => void; enterAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => void; exitAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => void; enterAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => void; exitAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => void; enterAnalyze?: (ctx: AnalyzeContext) => void; exitAnalyze?: (ctx: AnalyzeContext) => void; enterQuery?: (ctx: QueryContext) => void; exitQuery?: (ctx: QueryContext) => void; enterQueryTerm?: (ctx: QueryTermContext) => void; exitQueryTerm?: (ctx: QueryTermContext) => void; enterQueryPrimary?: (ctx: QueryPrimaryContext) => void; exitQueryPrimary?: (ctx: QueryPrimaryContext) => void; enterCtes?: (ctx: CtesContext) => void; exitCtes?: (ctx: CtesContext) => void; enterMapQuery?: (ctx: MapQueryContext) => void; exitMapQuery?: (ctx: MapQueryContext) => void; enterQueryOrderBy?: (ctx: QueryOrderByContext) => void; exitQueryOrderBy?: (ctx: QueryOrderByContext) => void; enterQueryLimit?: (ctx: QueryLimitContext) => void; exitQueryLimit?: (ctx: QueryLimitContext) => void; enterQueryOffset?: (ctx: QueryOffsetContext) => void; exitQueryOffset?: (ctx: QueryOffsetContext) => void; enterQueryFetch?: (ctx: QueryFetchContext) => void; exitQueryFetch?: (ctx: QueryFetchContext) => void; enterWithItem?: (ctx: WithItemContext) => void; exitWithItem?: (ctx: WithItemContext) => void; enterOrderItem?: (ctx: OrderItemContext) => void; exitOrderItem?: (ctx: OrderItemContext) => void; enterSelectClause?: (ctx: SelectClauseContext) => void; exitSelectClause?: (ctx: SelectClauseContext) => void; enterSelect?: (ctx: SelectContext) => void; exitSelect?: (ctx: SelectContext) => void; enterProjectItems?: (ctx: ProjectItemsContext) => void; exitProjectItems?: (ctx: ProjectItemsContext) => void; enterFromTable?: (ctx: FromTableContext) => void; exitFromTable?: (ctx: FromTableContext) => void; enterWhere?: (ctx: WhereContext) => void; exitWhere?: (ctx: WhereContext) => void; enterGroupBy?: (ctx: GroupByContext) => void; exitGroupBy?: (ctx: GroupByContext) => void; enterGroupItems?: (ctx: GroupItemsContext) => void; exitGroupItems?: (ctx: GroupItemsContext) => void; enterHaving?: (ctx: HavingContext) => void; exitHaving?: (ctx: HavingContext) => void; enterWindowSelect?: (ctx: WindowSelectContext) => void; exitWindowSelect?: (ctx: WindowSelectContext) => void; enterProjectItem?: (ctx: ProjectItemContext) => void; exitProjectItem?: (ctx: ProjectItemContext) => void; enterSetQuantifier?: (ctx: SetQuantifierContext) => void; exitSetQuantifier?: (ctx: SetQuantifierContext) => void; enterTableExpression?: (ctx: TableExpressionContext) => void; exitTableExpression?: (ctx: TableExpressionContext) => void; enterTableExpr?: (ctx: TableExprContext) => void; exitTableExpr?: (ctx: TableExprContext) => void; enterMapTable?: (ctx: MapTableContext) => void; exitMapTable?: (ctx: MapTableContext) => void; enterJoinCondition?: (ctx: JoinConditionContext) => void; exitJoinCondition?: (ctx: JoinConditionContext) => void; enterCommaTable?: (ctx: CommaTableContext) => void; exitCommaTable?: (ctx: CommaTableContext) => void; enterTableReference?: (ctx: TableReferenceContext) => void; exitTableReference?: (ctx: TableReferenceContext) => void; enterTableDim?: (ctx: TableDimContext) => void; exitTableDim?: (ctx: TableDimContext) => void; enterTablePrimary?: (ctx: TablePrimaryContext) => void; exitTablePrimary?: (ctx: TablePrimaryContext) => void; enterTableSource?: (ctx: TableSourceContext) => void; exitTableSource?: (ctx: TableSourceContext) => void; enterTableLateral?: (ctx: TableLateralContext) => void; exitTableLateral?: (ctx: TableLateralContext) => void; enterTableQuery?: (ctx: TableQueryContext) => void; exitTableQuery?: (ctx: TableQueryContext) => void; enterHints?: (ctx: HintsContext) => void; exitHints?: (ctx: HintsContext) => void; enterHint?: (ctx: HintContext) => void; exitHint?: (ctx: HintContext) => void; enterHintOptions?: (ctx: HintOptionsContext) => void; exitHintOptions?: (ctx: HintOptionsContext) => void; enterHintKVOption?: (ctx: HintKVOptionContext) => void; exitHintKVOption?: (ctx: HintKVOptionContext) => void; enterOptionValue?: (ctx: OptionValueContext) => void; exitOptionValue?: (ctx: OptionValueContext) => void; enterOptionName?: (ctx: OptionNameContext) => void; exitOptionName?: (ctx: OptionNameContext) => void; enterPivot?: (ctx: PivotContext) => void; exitPivot?: (ctx: PivotContext) => void; enterPivotAggs?: (ctx: PivotAggsContext) => void; exitPivotAggs?: (ctx: PivotAggsContext) => void; enterForPivotList?: (ctx: ForPivotListContext) => void; exitForPivotList?: (ctx: ForPivotListContext) => void; enterPivotAgg?: (ctx: PivotAggContext) => void; exitPivotAgg?: (ctx: PivotAggContext) => void; enterPivotList?: (ctx: PivotListContext) => void; exitPivotList?: (ctx: PivotListContext) => void; enterColumnOrList?: (ctx: ColumnOrListContext) => void; exitColumnOrList?: (ctx: ColumnOrListContext) => void; enterExprOrList?: (ctx: ExprOrListContext) => void; exitExprOrList?: (ctx: ExprOrListContext) => void; enterInPivotExprs?: (ctx: InPivotExprsContext) => void; exitInPivotExprs?: (ctx: InPivotExprsContext) => void; enterPivotExprs?: (ctx: PivotExprsContext) => void; exitPivotExprs?: (ctx: PivotExprsContext) => void; enterPivotExpr?: (ctx: PivotExprContext) => void; exitPivotExpr?: (ctx: PivotExprContext) => void; enterUnpivot?: (ctx: UnpivotContext) => void; exitUnpivot?: (ctx: UnpivotContext) => void; enterUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => void; exitUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => void; enterUnpivotAxisList?: (ctx: UnpivotAxisListContext) => void; exitUnpivotAxisList?: (ctx: UnpivotAxisListContext) => void; enterUnpivotValue?: (ctx: UnpivotValueContext) => void; exitUnpivotValue?: (ctx: UnpivotValueContext) => void; enterValues?: (ctx: ValuesContext) => void; exitValues?: (ctx: ValuesContext) => void; enterValuesRows?: (ctx: ValuesRowsContext) => void; exitValuesRows?: (ctx: ValuesRowsContext) => void; enterValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => void; exitValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => void; enterValueRow?: (ctx: ValueRowContext) => void; exitValueRow?: (ctx: ValueRowContext) => void; enterGroupItem?: (ctx: GroupItemContext) => void; exitGroupItem?: (ctx: GroupItemContext) => void; enterGroupingSets?: (ctx: GroupingSetsContext) => void; exitGroupingSets?: (ctx: GroupingSetsContext) => void; enterParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => void; exitParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => void; enterWindow?: (ctx: WindowContext) => void; exitWindow?: (ctx: WindowContext) => void; enterWindowSpec?: (ctx: WindowSpecContext) => void; exitWindowSpec?: (ctx: WindowSpecContext) => void; enterRangeOrRows?: (ctx: RangeOrRowsContext) => void; exitRangeOrRows?: (ctx: RangeOrRowsContext) => void; enterSetStatement?: (ctx: SetStatementContext) => void; exitSetStatement?: (ctx: SetStatementContext) => void; enterResetStatement?: (ctx: ResetStatementContext) => void; exitResetStatement?: (ctx: ResetStatementContext) => void; enterAlter?: (ctx: AlterContext) => void; exitAlter?: (ctx: AlterContext) => void; enterAlterTable?: (ctx: AlterTableContext) => void; exitAlterTable?: (ctx: AlterTableContext) => void; enterAlterView?: (ctx: AlterViewContext) => void; exitAlterView?: (ctx: AlterViewContext) => void; enterAlterDatabase?: (ctx: AlterDatabaseContext) => void; exitAlterDatabase?: (ctx: AlterDatabaseContext) => void; enterAlterFunction?: (ctx: AlterFunctionContext) => void; exitAlterFunction?: (ctx: AlterFunctionContext) => void; enterAlterMaterializedTable?: (ctx: AlterMaterializedTableContext) => void; exitAlterMaterializedTable?: (ctx: AlterMaterializedTableContext) => void; enterRenameTo?: (ctx: RenameToContext) => void; exitRenameTo?: (ctx: RenameToContext) => void; enterSetValues?: (ctx: SetValuesContext) => void; exitSetValues?: (ctx: SetValuesContext) => void; enterExplain?: (ctx: ExplainContext) => void; exitExplain?: (ctx: ExplainContext) => void; enterExplainDetails?: (ctx: ExplainDetailsContext) => void; exitExplainDetails?: (ctx: ExplainDetailsContext) => void; enterExplainDetail?: (ctx: ExplainDetailContext) => void; exitExplainDetail?: (ctx: ExplainDetailContext) => void; enterDescribe?: (ctx: DescribeContext) => void; exitDescribe?: (ctx: DescribeContext) => void; enterDescribeCatalog?: (ctx: DescribeCatalogContext) => void; exitDescribeCatalog?: (ctx: DescribeCatalogContext) => void; enterDescribeDatabase?: (ctx: DescribeDatabaseContext) => void; exitDescribeDatabase?: (ctx: DescribeDatabaseContext) => void; enterDescribeTable?: (ctx: DescribeTableContext) => void; exitDescribeTable?: (ctx: DescribeTableContext) => void; enterInsert?: (ctx: InsertContext) => void; exitInsert?: (ctx: InsertContext) => void; enterPartition?: (ctx: PartitionContext) => void; exitPartition?: (ctx: PartitionContext) => void; enterInsertMultiple?: (ctx: InsertMultipleContext) => void; exitInsertMultiple?: (ctx: InsertMultipleContext) => void; enterExecuteStatementSet?: (ctx: ExecuteStatementSetContext) => void; exitExecuteStatementSet?: (ctx: ExecuteStatementSetContext) => void; enterBeginStatementSet?: (ctx: BeginStatementSetContext) => void; exitBeginStatementSet?: (ctx: BeginStatementSetContext) => void; enterUse?: (ctx: UseContext) => void; exitUse?: (ctx: UseContext) => void; enterShow?: (ctx: ShowContext) => void; exitShow?: (ctx: ShowContext) => void; enterDdlStatement?: (ctx: DdlStatementContext) => void; exitDdlStatement?: (ctx: DdlStatementContext) => void; enterCreate?: (ctx: CreateContext) => void; exitCreate?: (ctx: CreateContext) => void; enterCreateTable?: (ctx: CreateTableContext) => void; exitCreateTable?: (ctx: CreateTableContext) => void; enterCreateMaterializedTable?: (ctx: CreateMaterializedTableContext) => void; exitCreateMaterializedTable?: (ctx: CreateMaterializedTableContext) => void; enterDefineValues?: (ctx: DefineValuesContext) => void; exitDefineValues?: (ctx: DefineValuesContext) => void; enterPartitionedBy?: (ctx: PartitionedByContext) => void; exitPartitionedBy?: (ctx: PartitionedByContext) => void; enterDistributedBy?: (ctx: DistributedByContext) => void; exitDistributedBy?: (ctx: DistributedByContext) => void; enterIntoBuckets?: (ctx: IntoBucketsContext) => void; exitIntoBuckets?: (ctx: IntoBucketsContext) => void; enterWithValues?: (ctx: WithValuesContext) => void; exitWithValues?: (ctx: WithValuesContext) => void; enterLikeTable?: (ctx: LikeTableContext) => void; exitLikeTable?: (ctx: LikeTableContext) => void; enterAsTable?: (ctx: AsTableContext) => void; exitAsTable?: (ctx: AsTableContext) => void; enterFreshness?: (ctx: FreshnessContext) => void; exitFreshness?: (ctx: FreshnessContext) => void; enterRefreshMode?: (ctx: RefreshModeContext) => void; exitRefreshMode?: (ctx: RefreshModeContext) => void; enterTableElement?: (ctx: TableElementContext) => void; exitTableElement?: (ctx: TableElementContext) => void; enterColumnDefinition?: (ctx: ColumnDefinitionContext) => void; exitColumnDefinition?: (ctx: ColumnDefinitionContext) => void; enterColumnConstraint?: (ctx: ColumnConstraintContext) => void; exitColumnConstraint?: (ctx: ColumnConstraintContext) => void; enterTableConstraint?: (ctx: TableConstraintContext) => void; exitTableConstraint?: (ctx: TableConstraintContext) => void; enterWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => void; exitWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => void; enterLikeConfig?: (ctx: LikeConfigContext) => void; exitLikeConfig?: (ctx: LikeConfigContext) => void; enterLikeOptions?: (ctx: LikeOptionsContext) => void; exitLikeOptions?: (ctx: LikeOptionsContext) => void; enterLikeOption?: (ctx: LikeOptionContext) => void; exitLikeOption?: (ctx: LikeOptionContext) => void; enterCreateCatalog?: (ctx: CreateCatalogContext) => void; exitCreateCatalog?: (ctx: CreateCatalogContext) => void; enterCreateDatabase?: (ctx: CreateDatabaseContext) => void; exitCreateDatabase?: (ctx: CreateDatabaseContext) => void; enterAsDatabase?: (ctx: AsDatabaseContext) => void; exitAsDatabase?: (ctx: AsDatabaseContext) => void; enterIncludingTable?: (ctx: IncludingTableContext) => void; exitIncludingTable?: (ctx: IncludingTableContext) => void; enterExcludingTable?: (ctx: ExcludingTableContext) => void; exitExcludingTable?: (ctx: ExcludingTableContext) => void; enterCreateView?: (ctx: CreateViewContext) => void; exitCreateView?: (ctx: CreateViewContext) => void; enterCreateFunction?: (ctx: CreateFunctionContext) => void; exitCreateFunction?: (ctx: CreateFunctionContext) => void; enterDrop?: (ctx: DropContext) => void; exitDrop?: (ctx: DropContext) => void; enterDropTable?: (ctx: DropTableContext) => void; exitDropTable?: (ctx: DropTableContext) => void; enterDropDatabase?: (ctx: DropDatabaseContext) => void; exitDropDatabase?: (ctx: DropDatabaseContext) => void; enterDropView?: (ctx: DropViewContext) => void; exitDropView?: (ctx: DropViewContext) => void; enterDropFunction?: (ctx: DropFunctionContext) => void; exitDropFunction?: (ctx: DropFunctionContext) => void; enterDropMaterializedTable?: (ctx: DropMaterializedTableContext) => void; exitDropMaterializedTable?: (ctx: DropMaterializedTableContext) => void; enterAddJar?: (ctx: AddJarContext) => void; exitAddJar?: (ctx: AddJarContext) => void; enterModuleStatement?: (ctx: ModuleStatementContext) => void; exitModuleStatement?: (ctx: ModuleStatementContext) => void; enterLoadModule?: (ctx: LoadModuleContext) => void; exitLoadModule?: (ctx: LoadModuleContext) => void; enterUnloadModule?: (ctx: UnloadModuleContext) => void; exitUnloadModule?: (ctx: UnloadModuleContext) => void; enterUseModules?: (ctx: UseModulesContext) => void; exitUseModules?: (ctx: UseModulesContext) => void; enterShowModules?: (ctx: ShowModulesContext) => void; exitShowModules?: (ctx: ShowModulesContext) => void; enterType?: (ctx: TypeContext) => void; exitType?: (ctx: TypeContext) => void; enterTypeName?: (ctx: TypeNameContext) => void; exitTypeName?: (ctx: TypeNameContext) => void; enterSqlTypeName?: (ctx: SqlTypeNameContext) => void; exitSqlTypeName?: (ctx: SqlTypeNameContext) => void; enterCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => void; exitCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => void; enterChar?: (ctx: CharContext) => void; exitChar?: (ctx: CharContext) => void; enterVarchar?: (ctx: VarcharContext) => void; exitVarchar?: (ctx: VarcharContext) => void; enterDecimal?: (ctx: DecimalContext) => void; exitDecimal?: (ctx: DecimalContext) => void; enterVarbinary?: (ctx: VarbinaryContext) => void; exitVarbinary?: (ctx: VarbinaryContext) => void; enterRowType?: (ctx: RowTypeContext) => void; exitRowType?: (ctx: RowTypeContext) => void; enterSystemFunction?: (ctx: SystemFunctionContext) => void; exitSystemFunction?: (ctx: SystemFunctionContext) => void; enterJsonFunction?: (ctx: JsonFunctionContext) => void; exitJsonFunction?: (ctx: JsonFunctionContext) => void; enterJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => void; exitJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => void; enterJsonValueFunction?: (ctx: JsonValueFunctionContext) => void; exitJsonValueFunction?: (ctx: JsonValueFunctionContext) => void; enterJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => void; exitJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => void; enterJsonValue?: (ctx: JsonValueContext) => void; exitJsonValue?: (ctx: JsonValueContext) => void; enterPath?: (ctx: PathContext) => void; exitPath?: (ctx: PathContext) => void; enterJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => void; exitJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => void; enterJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => void; exitJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => void; enterJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => void; exitJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => void; enterJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => void; exitJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => void; enterJsonKeyVal?: (ctx: JsonKeyValContext) => void; exitJsonKeyVal?: (ctx: JsonKeyValContext) => void; enterJsonVal?: (ctx: JsonValContext) => void; exitJsonVal?: (ctx: JsonValContext) => void; enterNullBehavior?: (ctx: NullBehaviorContext) => void; exitNullBehavior?: (ctx: NullBehaviorContext) => void; enterTemporalFunction?: (ctx: TemporalFunctionContext) => void; exitTemporalFunction?: (ctx: TemporalFunctionContext) => void; enterTemporalOverlaps?: (ctx: TemporalOverlapsContext) => void; exitTemporalOverlaps?: (ctx: TemporalOverlapsContext) => void; enterTemporalDate?: (ctx: TemporalDateContext) => void; exitTemporalDate?: (ctx: TemporalDateContext) => void; enterTemporalTime?: (ctx: TemporalTimeContext) => void; exitTemporalTime?: (ctx: TemporalTimeContext) => void; enterTemporalTimestamp?: (ctx: TemporalTimestampContext) => void; exitTemporalTimestamp?: (ctx: TemporalTimestampContext) => void; enterYearMonthInterval?: (ctx: YearMonthIntervalContext) => void; exitYearMonthInterval?: (ctx: YearMonthIntervalContext) => void; enterDayTimeInterval?: (ctx: DayTimeIntervalContext) => void; exitDayTimeInterval?: (ctx: DayTimeIntervalContext) => void; enterYearUnit?: (ctx: YearUnitContext) => void; exitYearUnit?: (ctx: YearUnitContext) => void; enterMonthUnit?: (ctx: MonthUnitContext) => void; exitMonthUnit?: (ctx: MonthUnitContext) => void; enterDayUnit?: (ctx: DayUnitContext) => void; exitDayUnit?: (ctx: DayUnitContext) => void; enterHourUnit?: (ctx: HourUnitContext) => void; exitHourUnit?: (ctx: HourUnitContext) => void; enterMinuteUnit?: (ctx: MinuteUnitContext) => void; exitMinuteUnit?: (ctx: MinuteUnitContext) => void; enterSecondUnit?: (ctx: SecondUnitContext) => void; exitSecondUnit?: (ctx: SecondUnitContext) => void; enterTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => void; exitTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => void; enterTimePointUnit?: (ctx: TimePointUnitContext) => void; exitTimePointUnit?: (ctx: TimePointUnitContext) => void; enterAggregateWithin?: (ctx: AggregateWithinContext) => void; exitAggregateWithin?: (ctx: AggregateWithinContext) => void; enterAggregateFilter?: (ctx: AggregateFilterContext) => void; exitAggregateFilter?: (ctx: AggregateFilterContext) => void; enterAggregateNulls?: (ctx: AggregateNullsContext) => void; exitAggregateNulls?: (ctx: AggregateNullsContext) => void; enterOverWindow?: (ctx: OverWindowContext) => void; exitOverWindow?: (ctx: OverWindowContext) => void; enterExpressions?: (ctx: ExpressionsContext) => void; exitExpressions?: (ctx: ExpressionsContext) => void; enterParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => void; exitParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => void; enterParenthesisQuery?: (ctx: ParenthesisQueryContext) => void; exitParenthesisQuery?: (ctx: ParenthesisQueryContext) => void; enterColumnAssignments?: (ctx: ColumnAssignmentsContext) => void; exitColumnAssignments?: (ctx: ColumnAssignmentsContext) => void; enterColumnAssignment?: (ctx: ColumnAssignmentContext) => void; exitColumnAssignment?: (ctx: ColumnAssignmentContext) => void; enterValueAssignments?: (ctx: ValueAssignmentsContext) => void; exitValueAssignments?: (ctx: ValueAssignmentsContext) => void; enterValueAssignment?: (ctx: ValueAssignmentContext) => void; exitValueAssignment?: (ctx: ValueAssignmentContext) => void; enterColumns?: (ctx: ColumnsContext) => void; exitColumns?: (ctx: ColumnsContext) => void; enterColumnsWithoutParenthesis?: (ctx: ColumnsWithoutParenthesisContext) => void; exitColumnsWithoutParenthesis?: (ctx: ColumnsWithoutParenthesisContext) => void; enterComment?: (ctx: CommentContext) => void; exitComment?: (ctx: CommentContext) => void; enterOrderBy?: (ctx: OrderByContext) => void; exitOrderBy?: (ctx: OrderByContext) => void; enterOrderItems?: (ctx: OrderItemsContext) => void; exitOrderItems?: (ctx: OrderItemsContext) => void; enterPartitionBy?: (ctx: PartitionByContext) => void; exitPartitionBy?: (ctx: PartitionByContext) => void; enterMatchRecognize?: (ctx: MatchRecognizeContext) => void; exitMatchRecognize?: (ctx: MatchRecognizeContext) => void; enterMeasures?: (ctx: MeasuresContext) => void; exitMeasures?: (ctx: MeasuresContext) => void; enterMeasureColumns?: (ctx: MeasureColumnsContext) => void; exitMeasureColumns?: (ctx: MeasureColumnsContext) => void; enterPerMatch?: (ctx: PerMatchContext) => void; exitPerMatch?: (ctx: PerMatchContext) => void; enterAfterMatch?: (ctx: AfterMatchContext) => void; exitAfterMatch?: (ctx: AfterMatchContext) => void; enterPatternMatch?: (ctx: PatternMatchContext) => void; exitPatternMatch?: (ctx: PatternMatchContext) => void; enterWithinMatch?: (ctx: WithinMatchContext) => void; exitWithinMatch?: (ctx: WithinMatchContext) => void; enterSubsetMatch?: (ctx: SubsetMatchContext) => void; exitSubsetMatch?: (ctx: SubsetMatchContext) => void; enterSubsetItems?: (ctx: SubsetItemsContext) => void; exitSubsetItems?: (ctx: SubsetItemsContext) => void; enterSubsetItem?: (ctx: SubsetItemContext) => void; exitSubsetItem?: (ctx: SubsetItemContext) => void; enterDefineMatch?: (ctx: DefineMatchContext) => void; exitDefineMatch?: (ctx: DefineMatchContext) => void; enterDefineItems?: (ctx: DefineItemsContext) => void; exitDefineItems?: (ctx: DefineItemsContext) => void; enterDefineItem?: (ctx: DefineItemContext) => void; exitDefineItem?: (ctx: DefineItemContext) => void; enterMeasureColumn?: (ctx: MeasureColumnContext) => void; exitMeasureColumn?: (ctx: MeasureColumnContext) => void; enterPattern?: (ctx: PatternContext) => void; exitPattern?: (ctx: PatternContext) => void; enterPatternTerm?: (ctx: PatternTermContext) => void; exitPatternTerm?: (ctx: PatternTermContext) => void; enterPatternFactor?: (ctx: PatternFactorContext) => void; exitPatternFactor?: (ctx: PatternFactorContext) => void; enterPatternPrimary?: (ctx: PatternPrimaryContext) => void; exitPatternPrimary?: (ctx: PatternPrimaryContext) => void; enterPatternQuantifier?: (ctx: PatternQuantifierContext) => void; exitPatternQuantifier?: (ctx: PatternQuantifierContext) => void; enterAlias?: (ctx: AliasContext) => void; exitAlias?: (ctx: AliasContext) => void; enterAliases?: (ctx: AliasesContext) => void; exitAliases?: (ctx: AliasesContext) => void; enterKeyword?: (ctx: KeywordContext) => void; exitKeyword?: (ctx: KeywordContext) => void; enterAnyName?: (ctx: AnyNameContext) => void; exitAnyName?: (ctx: AnyNameContext) => void; enterAnyNonStringName?: (ctx: AnyNonStringNameContext) => void; exitAnyNonStringName?: (ctx: AnyNonStringNameContext) => void; enterArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => void; exitArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => void; enterCharsetIntroducer?: (ctx: CharsetIntroducerContext) => void; exitCharsetIntroducer?: (ctx: CharsetIntroducerContext) => void; enterCharsetLiteral?: (ctx: CharsetLiteralContext) => void; exitCharsetLiteral?: (ctx: CharsetLiteralContext) => void; enterLiteralValue?: (ctx: LiteralValueContext) => void; exitLiteralValue?: (ctx: LiteralValueContext) => void; enterWhenExpr?: (ctx: WhenExprContext) => void; exitWhenExpr?: (ctx: WhenExprContext) => void; enterThenExpr?: (ctx: ThenExprContext) => void; exitThenExpr?: (ctx: ThenExprContext) => void; enterElseExpr?: (ctx: ElseExprContext) => void; exitElseExpr?: (ctx: ElseExprContext) => void; enterCaseEnd?: (ctx: CaseEndContext) => void; exitCaseEnd?: (ctx: CaseEndContext) => void; enterArrayConstruct?: (ctx: ArrayConstructContext) => void; exitArrayConstruct?: (ctx: ArrayConstructContext) => void; enterCompare?: (ctx: CompareContext) => void; exitCompare?: (ctx: CompareContext) => void; enterLogicalBind?: (ctx: LogicalBindContext) => void; exitLogicalBind?: (ctx: LogicalBindContext) => void; enterPredicate?: (ctx: PredicateContext) => void; exitPredicate?: (ctx: PredicateContext) => void; enterExpr?: (ctx: ExprContext) => void; exitExpr?: (ctx: ExprContext) => void; enterBooleanExpr?: (ctx: BooleanExprContext) => void; exitBooleanExpr?: (ctx: BooleanExprContext) => void; enterValueExpr?: (ctx: ValueExprContext) => void; exitValueExpr?: (ctx: ValueExprContext) => void; enterSubQuery?: (ctx: SubQueryContext) => void; exitSubQuery?: (ctx: SubQueryContext) => void; enterFunctionCall?: (ctx: FunctionCallContext) => void; exitFunctionCall?: (ctx: FunctionCallContext) => void; enterPrimaryExpr?: (ctx: PrimaryExprContext) => void; exitPrimaryExpr?: (ctx: PrimaryExprContext) => void; enterString?: (ctx: StringContext) => void; exitString?: (ctx: StringContext) => void; enterName?: (ctx: NameContext) => void; exitName?: (ctx: NameContext) => void; enterColumnName?: (ctx: ColumnNameContext) => void; exitColumnName?: (ctx: ColumnNameContext) => void; enterTableName?: (ctx: TableNameContext) => void; exitTableName?: (ctx: TableNameContext) => void; enterDatabaseName?: (ctx: DatabaseNameContext) => void; exitDatabaseName?: (ctx: DatabaseNameContext) => void; enterCatalogName?: (ctx: CatalogNameContext) => void; exitCatalogName?: (ctx: CatalogNameContext) => void; enterViewName?: (ctx: ViewNameContext) => void; exitViewName?: (ctx: ViewNameContext) => void; enterFunctionName?: (ctx: FunctionNameContext) => void; exitFunctionName?: (ctx: FunctionNameContext) => void; enterColumn?: (ctx: ColumnContext) => void; exitColumn?: (ctx: ColumnContext) => void; enterView?: (ctx: ViewContext) => void; exitView?: (ctx: ViewContext) => void; enterTable?: (ctx: TableContext) => void; exitTable?: (ctx: TableContext) => void; enterDatabase?: (ctx: DatabaseContext) => void; exitDatabase?: (ctx: DatabaseContext) => void; enterCatalog?: (ctx: CatalogContext) => void; exitCatalog?: (ctx: CatalogContext) => void; enterReservedKeywords?: (ctx: ReservedKeywordsContext) => void; exitReservedKeywords?: (ctx: ReservedKeywordsContext) => void; enterNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => void; exitNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => void; enterCommonKeywords?: (ctx: CommonKeywordsContext) => void; exitCommonKeywords?: (ctx: CommonKeywordsContext) => void; }