001// GENERATED by ShapeGenerator from scripts/sqllr/shape/shape-spec.tsv (plan 09, slice 1b). Do not edit.
002package gudusoft.gsqlparser.lineage.v2.shape;
003
004/**
005 * The mirror of {@code gudusoft.gsqlparser.nodes.TParseTreeVisitor}: the preVisit overloads the producer's
006 * visitors override, called in the order the live traversal called them.
007 */
008public class TParseTreeVisitor {
009
010    public void preVisit(TCTE node) {
011    }
012
013    public void preVisit(TCaseExpression node) {
014    }
015
016    public void preVisit(TExpression node) {
017    }
018
019    public void preVisit(TFunctionCall node) {
020    }
021
022    public void preVisit(TJoinItem node) {
023    }
024
025    public void preVisit(TObjectName node) {
026    }
027
028    public void preVisit(TOutputClause node) {
029    }
030
031    public void preVisit(TPivotClause node) {
032    }
033
034    public void preVisit(TReturningClause node) {
035    }
036
037    public void preVisit(TSelectSqlStatement node) {
038    }
039
040    public void preVisit(TTable node) {
041    }
042
043    /** Tests only: sees every replayed call before its overload. */
044    void record(int index, ShapeObject node) {
045    }
046
047    /** Calls overload {@code index} with the mirror it was called with. */
048    final void dispatch(int index, ShapeObject node) {
049        record(index, node);
050        switch (index) {
051            case 0: preVisit((TCTE) node);
052                break;
053            case 1: preVisit((TCaseExpression) node);
054                break;
055            case 2: preVisit((TExpression) node);
056                break;
057            case 3: preVisit((TFunctionCall) node);
058                break;
059            case 4: preVisit((TJoinItem) node);
060                break;
061            case 5: preVisit((TObjectName) node);
062                break;
063            case 6: preVisit((TOutputClause) node);
064                break;
065            case 7: preVisit((TPivotClause) node);
066                break;
067            case 8: preVisit((TReturningClause) node);
068                break;
069            case 9: preVisit((TSelectSqlStatement) node);
070                break;
071            case 10: preVisit((TTable) node);
072                break;
073            default: throw new IllegalArgumentException("overload " + index);
074        }
075    }
076}