|
36 | 36 |
|
37 | 37 | /** ExpressionTypeMappingGenerator */
|
38 | 38 | public class ExpressionTypeMappingGenerator {
|
| 39 | + private static final Set<String> FORBIDDEN_CLASS = Sets.newHashSet( |
| 40 | + "org.apache.doris.nereids.trees.expressions.functions.ExpressionTrait", |
| 41 | + "org.apache.doris.nereids.trees.expressions.shape.LeafExpression", |
| 42 | + "org.apache.doris.nereids.trees.expressions.shape.UnaryExpression", |
| 43 | + "org.apache.doris.nereids.trees.expressions.shape.BinaryExpression", |
| 44 | + "org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable", |
| 45 | + "org.apache.doris.nereids.trees.expressions.functions.AlwaysNotNullable", |
| 46 | + "org.apache.doris.nereids.trees.expressions.functions.PropagateNullLiteral", |
| 47 | + "org.apache.doris.nereids.trees.expressions.typecoercion.ImplicitCastInputTypes", |
| 48 | + "org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature", |
| 49 | + "org.apache.doris.nereids.trees.expressions.functions.Function", |
| 50 | + "org.apache.doris.nereids.trees.expressions.functions.FunctionTrait", |
| 51 | + "org.apache.doris.nereids.trees.expressions.functions.ComputeSignature", |
| 52 | + "org.apache.doris.nereids.trees.expressions.functions.scalar.ScalarFunction", |
| 53 | + "org.apache.doris.nereids.trees.expressions.typecoercion.ExpectsInputTypes", |
| 54 | + "org.apache.doris.nereids.trees.expressions.functions.ComputeNullable", |
| 55 | + "org.apache.doris.nereids.trees.expressions.functions.PropagateNullable" |
| 56 | + ); |
| 57 | + |
39 | 58 | private final JavaAstAnalyzer analyzer;
|
40 | 59 |
|
41 | 60 | public ExpressionTypeMappingGenerator(JavaAstAnalyzer javaAstAnalyzer) {
|
@@ -134,6 +153,10 @@ private String generateCode(Map<String, Set<String>> childrenNameMap,
|
134 | 153 | + " = ImmutableMap.builderWithExpectedSize(" + childrenNameMap.size() + ");\n";
|
135 | 154 |
|
136 | 155 | for (String superExpression : superExpressions) {
|
| 156 | + if (FORBIDDEN_CLASS.contains(superExpression)) { |
| 157 | + continue; |
| 158 | + } |
| 159 | + |
137 | 160 | Set<String> childrenClasseSet = childrenNameMap.get(superExpression)
|
138 | 161 | .stream()
|
139 | 162 | .filter(childClass -> parentNameMap.get(childClass)
|
|
0 commit comments