in bigquery-antipattern-recognition/src/main/java/com/google/zetasql/toolkit/antipattern/parser/visitors/IdentifyCTEsEvalMultipleTimesVisitor.java [79:94]
public void visit(ASTNodes.ASTTableExpression tableExpression) {
if (tableExpression instanceof ASTNodes.ASTTablePathExpression) {
visit((ASTTablePathExpression) tableExpression);
} else if (tableExpression instanceof ASTNodes.ASTJoin) {
visit(((ASTNodes.ASTJoin) tableExpression).getLhs());
visit(((ASTNodes.ASTJoin) tableExpression).getRhs());
} else if (tableExpression instanceof ASTNodes.ASTTableSubquery) {
ASTNodes.ASTQueryExpression queryExpression =
((ASTNodes.ASTTableSubquery) tableExpression).getSubquery().getQueryExpr();
if (queryExpression instanceof ASTNodes.ASTSelect && ((ASTSelect) queryExpression).getFromClause() != null) {
ASTNodes.ASTTableExpression tableExpression1 =
((ASTSelect) queryExpression).getFromClause().getTableExpression();
visit(tableExpression1);
}
}
}