Make TypePatternExpr a subclass of PatternExpr with codegen
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Expression.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Expression.java
index 4e0dc06..cb7c6ca 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Expression.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Expression.java
@@ -878,18 +878,22 @@
public void ifTypePatternExpr(Consumer<TypePatternExpr> action) {
}
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public boolean isPatternExpr() {
return false;
}
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public PatternExpr asPatternExpr() {
throw new IllegalStateException(f("%s is not PatternExpr, it is %s", this, this.getClass().getSimpleName()));
}
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public Optional<PatternExpr> toPatternExpr() {
return Optional.empty();
}
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifPatternExpr(Consumer<PatternExpr> action) {
}
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/PatternExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/PatternExpr.java
index 753cc40..f93904a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/PatternExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/PatternExpr.java
@@ -23,10 +23,12 @@
import com.github.javaparser.ast.AllFieldsConstructor;
import java.util.Optional;
import java.util.function.Consumer;
+import com.github.javaparser.ast.Generated;
import com.github.javaparser.ast.visitor.CloneVisitor;
import com.github.javaparser.metamodel.PatternExprMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.TokenRange;
+import com.github.javaparser.ast.Node;
public abstract class PatternExpr extends Expression {
@@ -35,30 +37,37 @@
}
@Override
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public boolean isPatternExpr() {
return true;
}
@Override
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public PatternExpr asPatternExpr() {
return this;
}
@Override
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public Optional<PatternExpr> toPatternExpr() {
return Optional.of(this);
}
+ @Override
+ @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifPatternExpr(Consumer<PatternExpr> action) {
action.accept(this);
}
@Override
+ @Generated("com.github.javaparser.generator.core.node.CloneGenerator")
public PatternExpr clone() {
return (PatternExpr) accept(new CloneVisitor(), null);
}
@Override
+ @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator")
public PatternExprMetaModel getMetaModel() {
return JavaParserMetaModel.patternExprMetaModel;
}
@@ -66,6 +75,7 @@
/**
* This constructor is used by the parser and is considered private.
*/
+ @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
public PatternExpr(TokenRange tokenRange) {
super(tokenRange);
customInitialization();
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypePatternExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypePatternExpr.java
index 8e235ac..1cb7a75 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypePatternExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypePatternExpr.java
@@ -71,7 +71,7 @@
* @see <a href="https://bugs.openjdk.java.net/browse/JDK-8181287">JEP305: https://bugs.openjdk.java.net/browse/JDK-8181287</a>
* @see <a href="https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.20">https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.20</a>
*/
-public class TypePatternExpr extends Expression implements NodeWithSimpleName<TypePatternExpr>, NodeWithType<TypePatternExpr, ReferenceType>, NodeWithFinalModifier<TypePatternExpr> {
+public class TypePatternExpr extends PatternExpr implements NodeWithSimpleName<TypePatternExpr>, NodeWithType<TypePatternExpr, ReferenceType>, NodeWithFinalModifier<TypePatternExpr> {
private NodeList<Modifier> modifiers;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
index fb78ea2..de7c26a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
@@ -1078,7 +1078,7 @@
public static final TypeExprMetaModel typeExprMetaModel = new TypeExprMetaModel(Optional.of(expressionMetaModel));
@Generated("com.github.javaparser.generator.metamodel.NodeMetaModelGenerator")
- public static final TypePatternExprMetaModel typePatternExprMetaModel = new TypePatternExprMetaModel(Optional.of(expressionMetaModel));
+ public static final TypePatternExprMetaModel typePatternExprMetaModel = new TypePatternExprMetaModel(Optional.of(patternExprMetaModel));
@Generated("com.github.javaparser.generator.metamodel.NodeMetaModelGenerator")
public static final UnaryExprMetaModel unaryExprMetaModel = new UnaryExprMetaModel(Optional.of(expressionMetaModel));
diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/TypePatternExprMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/TypePatternExprMetaModel.java
index 3c63169..d684e54 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/TypePatternExprMetaModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/TypePatternExprMetaModel.java
@@ -34,7 +34,7 @@
* For this reason, any changes made directly to this file will be overwritten the next time generators are run.
*/
@Generated("com.github.javaparser.generator.metamodel.NodeMetaModelGenerator")
-public class TypePatternExprMetaModel extends ExpressionMetaModel {
+public class TypePatternExprMetaModel extends PatternExprMetaModel {
@Generated("com.github.javaparser.generator.metamodel.NodeMetaModelGenerator")
TypePatternExprMetaModel(Optional<BaseNodeMetaModel> superBaseNodeMetaModel) {