aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-12-08 22:33:51 +0100
committerDanny van Bruggen <hexagonaal@gmail.com>2017-12-08 22:33:51 +0100
commitec67c249106a847bcb63816da967c5edbdbce114 (patch)
treefbb7adf8e17896264b1afdca9e532fe37a56853f
parentf373cb0d8ba5d56c175a12e8faaab4f16cc54b3f (diff)
downloadjavaparser-ec67c249106a847bcb63816da967c5edbdbce114.tar.gz
Generate toXyz methods
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java11
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java45
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumConstantDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/comments/BlockComment.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/comments/Comment.java12
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/comments/JavadocComment.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/comments/LineComment.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/BooleanLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/CharLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ConditionalExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/DoubleLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/EnclosedExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/Expression.java137
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/IntegerLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralStringValueExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/LongLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MarkerAnnotationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java7
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NullLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/StringLiteralExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleExportsStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleOpensStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleProvidesStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleRequiresStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleStmt.java21
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleUsesStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/EmptyStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExplicitConstructorInvocationStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExpressionStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForeachStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/IfStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java85
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/UnparsableStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/PrimitiveType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ReferenceType.java7
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java41
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/UnknownType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/VoidType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java5
91 files changed, 830 insertions, 5 deletions
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
index c44573a0f..3a611f4c5 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
@@ -1,7 +1,6 @@
package com.github.javaparser.generator.core.node;
import com.github.javaparser.ast.CompilationUnit;
-import com.github.javaparser.ast.body.BodyDeclaration;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.generator.NodeGenerator;
@@ -10,6 +9,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.utils.Pair;
import com.github.javaparser.utils.SourceRoot;
+import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
@@ -56,6 +56,7 @@ public class TypeCastingGenerator extends NodeGenerator {
generateIsType(baseCu, nodeCoid, baseCoid, typeName);
generateAsType(baseCu, nodeCoid, baseCoid, typeName);
+ generateToType(nodeCu, baseCu, nodeCoid, baseCoid, typeName);
generateIfType(nodeCu, baseCu, nodeCoid, baseCoid, typeName);
}
@@ -65,7 +66,15 @@ public class TypeCastingGenerator extends NodeGenerator {
addOrReplaceWhenSameSignature(baseCoid, asTypeBaseMethod);
addOrReplaceWhenSameSignature(nodeCoid, asTypeNodeMethod);
baseCu.addImport("com.github.javaparser.utils.CodeGenerationUtils.f", true, false);
+ }
+ private void generateToType(CompilationUnit nodeCu, CompilationUnit baseCu, ClassOrInterfaceDeclaration nodeCoid, ClassOrInterfaceDeclaration baseCoid, String typeName) {
+ baseCu.addImport(Optional.class);
+ nodeCu.addImport(Optional.class);
+ final MethodDeclaration asTypeBaseMethod = (MethodDeclaration) parseBodyDeclaration(f("public Optional<%s> to%s() { return Optional.empty(); }", typeName, typeName, typeName));
+ final MethodDeclaration asTypeNodeMethod = (MethodDeclaration) parseBodyDeclaration(f("@Override public Optional<%s> to%s() { return Optional.of(this); }", typeName, typeName));
+ addOrReplaceWhenSameSignature(baseCoid, asTypeBaseMethod);
+ addOrReplaceWhenSameSignature(nodeCoid, asTypeNodeMethod);
}
private void generateIfType(CompilationUnit nodeCu, CompilationUnit baseCu, ClassOrInterfaceDeclaration nodeCoid, ClassOrInterfaceDeclaration baseCoid, String typeName) {
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationDeclaration.java
index 35016d29f..1404d57d6 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationDeclaration.java
@@ -41,6 +41,7 @@ import com.github.javaparser.resolution.Resolvable;
import com.github.javaparser.resolution.declarations.ResolvedAnnotationDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An annotation type declaration.<br/><code>@interface X { ... }</code>
@@ -132,4 +133,9 @@ public final class AnnotationDeclaration extends TypeDeclaration<AnnotationDecla
public ResolvedAnnotationDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedAnnotationDeclaration.class);
}
+
+ @Override
+ public Optional<AnnotationDeclaration> toAnnotationDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java
index fdf9d9201..e8311b6e5 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java
@@ -264,4 +264,9 @@ public final class AnnotationMemberDeclaration extends BodyDeclaration<Annotatio
public ResolvedAnnotationMemberDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedAnnotationMemberDeclaration.class);
}
+
+ @Override
+ public Optional<AnnotationMemberDeclaration> toAnnotationMemberDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java
index b32bf1682..575b00015 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java
@@ -36,6 +36,7 @@ import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
+import java.util.Optional;
/**
* Any declaration that can appear between the { and } of a class, interface, or enum.
@@ -282,4 +283,48 @@ public abstract class BodyDeclaration<T extends BodyDeclaration<?>> extends Node
@Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifTypeDeclaration(Consumer<TypeDeclaration> action) {
}
+
+ public Optional<AnnotationDeclaration> toAnnotationDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<AnnotationMemberDeclaration> toAnnotationMemberDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<CallableDeclaration> toCallableDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<ClassOrInterfaceDeclaration> toClassOrInterfaceDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<ConstructorDeclaration> toConstructorDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<EnumConstantDeclaration> toEnumConstantDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<EnumDeclaration> toEnumDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<FieldDeclaration> toFieldDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<InitializerDeclaration> toInitializerDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<MethodDeclaration> toMethodDeclaration() {
+ return Optional.empty();
+ }
+
+ public Optional<TypeDeclaration> toTypeDeclaration() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
index 42ba46698..0eb7848cd 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
@@ -417,4 +417,9 @@ public abstract class CallableDeclaration<T extends CallableDeclaration<?>> exte
public CallableDeclaration removeReceiverParameter() {
return setReceiverParameter((ReceiverParameter) null);
}
+
+ @Override
+ public Optional<CallableDeclaration> toCallableDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclaration.java
index 91b9614df..4fadbf218 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ClassOrInterfaceDeclaration.java
@@ -49,6 +49,7 @@ import javax.annotation.Generated;
import java.util.EnumSet;
import static com.github.javaparser.utils.Utils.assertNotNull;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A definition of a class or interface.<br/><code>class X { ... }</code>
@@ -276,4 +277,9 @@ public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrIn
public ResolvedReferenceTypeDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedReferenceTypeDeclaration.class);
}
+
+ @Override
+ public Optional<ClassOrInterfaceDeclaration> toClassOrInterfaceDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
index a48981bc3..27367ee36 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
@@ -45,6 +45,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.Resolvable;
import com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A constructor declaration: <code>class X { X() { } }</code> where X(){} is the constructor declaration.
@@ -238,4 +239,9 @@ public final class ConstructorDeclaration extends CallableDeclaration<Constructo
public ResolvedConstructorDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedConstructorDeclaration.class);
}
+
+ @Override
+ public Optional<ConstructorDeclaration> toConstructorDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumConstantDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumConstantDeclaration.java
index 40be67fd1..9c7fe6d3c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumConstantDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumConstantDeclaration.java
@@ -44,6 +44,7 @@ import com.github.javaparser.resolution.Resolvable;
import com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedEnumConstantDeclaration;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* One of the values an enum can take. A(1) and B(2) in this example: <code>enum X { A(1), B(2) }</code>
@@ -229,4 +230,9 @@ public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantD
public ResolvedEnumConstantDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedEnumConstantDeclaration.class);
}
+
+ @Override
+ public Optional<EnumConstantDeclaration> toEnumConstantDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java
index 5b2b1feb2..fc7699ba0 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java
@@ -43,6 +43,7 @@ import java.util.EnumSet;
import static com.github.javaparser.utils.Utils.assertNonEmpty;
import static com.github.javaparser.utils.Utils.assertNotNull;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* The declaration of an enum.<br/><code>enum X { ... }</code>
@@ -223,4 +224,9 @@ public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> impl
public ResolvedEnumDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedEnumDeclaration.class);
}
+
+ @Override
+ public Optional<EnumDeclaration> toEnumDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java
index 103d24fdc..7bef048ee 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java
@@ -298,4 +298,9 @@ public final class FieldDeclaration extends BodyDeclaration<FieldDeclaration> im
public ResolvedFieldDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedFieldDeclaration.class);
}
+
+ @Override
+ public Optional<FieldDeclaration> toFieldDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java
index ed608b10d..15277e8a1 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java
@@ -38,6 +38,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A (possibly static) initializer body. "static { a=3; }" in this example: <code>class X { static { a=3; } } </code>
@@ -164,4 +165,9 @@ public final class InitializerDeclaration extends BodyDeclaration<InitializerDec
public void ifInitializerDeclaration(Consumer<InitializerDeclaration> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<InitializerDeclaration> toInitializerDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
index b42174a17..4b5cd6de5 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
@@ -338,4 +338,9 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
public ResolvedMethodDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedMethodDeclaration.class);
}
+
+ @Override
+ public Optional<MethodDeclaration> toMethodDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java
index 46aa8fc36..3411c7568 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java
@@ -41,6 +41,7 @@ import java.util.function.Consumer;
import static com.github.javaparser.utils.Utils.assertNotNull;
import static java.util.stream.Collectors.toList;
import com.github.javaparser.ast.Node;
+import java.util.Optional;
/**
* A base class for all types of type declarations.
@@ -236,4 +237,9 @@ public abstract class TypeDeclaration<T extends TypeDeclaration<?>> extends Body
public void ifTypeDeclaration(Consumer<TypeDeclaration> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<TypeDeclaration> toTypeDeclaration() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/BlockComment.java b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/BlockComment.java
index e0a3d2ead..a3dfc28ae 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/BlockComment.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/BlockComment.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* <p>
@@ -116,4 +117,9 @@ public final class BlockComment extends Comment {
public void ifBlockComment(Consumer<BlockComment> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<BlockComment> toBlockComment() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/Comment.java b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/Comment.java
index ad6b668c0..3743bd37f 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/Comment.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/Comment.java
@@ -202,4 +202,16 @@ public abstract class Comment extends Node {
@Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifLineComment(Consumer<LineComment> action) {
}
+
+ public Optional<BlockComment> toBlockComment() {
+ return Optional.empty();
+ }
+
+ public Optional<JavadocComment> toJavadocComment() {
+ return Optional.empty();
+ }
+
+ public Optional<LineComment> toLineComment() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/JavadocComment.java b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/JavadocComment.java
index 45846490e..0c96e6a5b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/JavadocComment.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/JavadocComment.java
@@ -32,6 +32,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A Javadoc comment. <code>/&#42;&#42; a comment &#42;/</code>
@@ -118,4 +119,9 @@ public final class JavadocComment extends Comment {
public void ifJavadocComment(Consumer<JavadocComment> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<JavadocComment> toJavadocComment() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/LineComment.java b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/LineComment.java
index daf12b78e..dc27035ca 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/comments/LineComment.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/comments/LineComment.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* <p>
@@ -115,4 +116,9 @@ public final class LineComment extends Comment {
public void ifLineComment(Consumer<LineComment> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LineComment> toLineComment() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java
index d86219f9c..e64767e1c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java
@@ -31,6 +31,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A base class for the different types of annotations.
@@ -127,4 +128,9 @@ public abstract class AnnotationExpr extends Expression implements NodeWithName<
public void ifAnnotationExpr(Consumer<AnnotationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<AnnotationExpr> toAnnotationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java
index a21ebe653..4f439ea05 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java
@@ -32,6 +32,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Array brackets [] being used to get a value from an array.
@@ -167,4 +168,9 @@ public final class ArrayAccessExpr extends Expression {
public void ifArrayAccessExpr(Consumer<ArrayAccessExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ArrayAccessExpr> toArrayAccessExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java
index a32d7e1f6..6f3a73a4b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java
@@ -270,4 +270,9 @@ public final class ArrayCreationExpr extends Expression {
public void ifArrayCreationExpr(Consumer<ArrayCreationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ArrayCreationExpr> toArrayCreationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java
index 028105f1b..6f6ae261a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* The initialization of an array. In the following sample, the outer { } is an ArrayInitializerExpr.
@@ -154,4 +155,9 @@ public final class ArrayInitializerExpr extends Expression {
public void ifArrayInitializerExpr(Consumer<ArrayInitializerExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ArrayInitializerExpr> toArrayInitializerExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java
index b22b9c709..23423575a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java
@@ -33,6 +33,7 @@ import com.github.javaparser.printer.Printable;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An assignment expression. It supports the operators that are found the the AssignExpr.Operator enum.
@@ -203,4 +204,9 @@ public final class AssignExpr extends Expression {
public void ifAssignExpr(Consumer<AssignExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<AssignExpr> toAssignExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java
index dc458fb62..96fc72718 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java
@@ -33,6 +33,7 @@ import com.github.javaparser.printer.Printable;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An expression with an expression on the left, an expression on the right, and an operator in the middle.
@@ -204,4 +205,9 @@ public final class BinaryExpr extends Expression {
public void ifBinaryExpr(Consumer<BinaryExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<BinaryExpr> toBinaryExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BooleanLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BooleanLiteralExpr.java
index b2b26bc81..35073223a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BooleanLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/BooleanLiteralExpr.java
@@ -31,6 +31,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* The boolean literals.
@@ -133,4 +134,9 @@ public final class BooleanLiteralExpr extends LiteralExpr {
public void ifBooleanLiteralExpr(Consumer<BooleanLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<BooleanLiteralExpr> toBooleanLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java
index de0ee0785..94e921e7b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A typecast. The (long) in <code>(long)15</code>
@@ -170,4 +171,9 @@ public final class CastExpr extends Expression implements NodeWithType<CastExpr,
public void ifCastExpr(Consumer<CastExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<CastExpr> toCastExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CharLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CharLiteralExpr.java
index bc85bd48a..3200bca3b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CharLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/CharLiteralExpr.java
@@ -32,6 +32,7 @@ import com.github.javaparser.utils.Utils;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A literal character.
@@ -153,4 +154,9 @@ public final class CharLiteralExpr extends LiteralStringValueExpr {
public void ifCharLiteralExpr(Consumer<CharLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<CharLiteralExpr> toCharLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java
index ad2a32991..65f4cc6bb 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Defines an expression that accesses the class of a type.
@@ -144,4 +145,9 @@ public final class ClassExpr extends Expression implements NodeWithType<ClassExp
public void ifClassExpr(Consumer<ClassExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ClassExpr> toClassExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ConditionalExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ConditionalExpr.java
index 87eb5c736..333cc9604 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ConditionalExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ConditionalExpr.java
@@ -33,6 +33,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* The ternary conditional expression.
@@ -194,4 +195,9 @@ public final class ConditionalExpr extends Expression implements NodeWithConditi
public void ifConditionalExpr(Consumer<ConditionalExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ConditionalExpr> toConditionalExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/DoubleLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/DoubleLiteralExpr.java
index cba795938..0447735ac 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/DoubleLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/DoubleLiteralExpr.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A float or a double constant. This value is stored exactly as found in the source.
@@ -131,4 +132,9 @@ public final class DoubleLiteralExpr extends LiteralStringValueExpr {
public void ifDoubleLiteralExpr(Consumer<DoubleLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<DoubleLiteralExpr> toDoubleLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/EnclosedExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/EnclosedExpr.java
index bd0ce0708..5fbe738b9 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/EnclosedExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/EnclosedExpr.java
@@ -153,4 +153,9 @@ public final class EnclosedExpr extends Expression {
public void ifEnclosedExpr(Consumer<EnclosedExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<EnclosedExpr> toEnclosedExpr() {
+ return Optional.of(this);
+ }
}
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 d7c93f431..3b134833c 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
@@ -30,6 +30,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.types.ResolvedType;
import java.util.function.Consumer;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
+import java.util.Optional;
/**
* A base class for all expressions.
@@ -559,4 +560,140 @@ public abstract class Expression extends Node {
public ResolvedType calculateResolvedType() {
return getSymbolResolver().calculateType(this);
}
+
+ public Optional<AnnotationExpr> toAnnotationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ArrayAccessExpr> toArrayAccessExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ArrayCreationExpr> toArrayCreationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ArrayInitializerExpr> toArrayInitializerExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<AssignExpr> toAssignExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<BinaryExpr> toBinaryExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<BooleanLiteralExpr> toBooleanLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<CastExpr> toCastExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<CharLiteralExpr> toCharLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ClassExpr> toClassExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ConditionalExpr> toConditionalExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<DoubleLiteralExpr> toDoubleLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<EnclosedExpr> toEnclosedExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<FieldAccessExpr> toFieldAccessExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<InstanceOfExpr> toInstanceOfExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<IntegerLiteralExpr> toIntegerLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<LambdaExpr> toLambdaExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<LiteralExpr> toLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<LiteralStringValueExpr> toLiteralStringValueExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<LongLiteralExpr> toLongLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<MarkerAnnotationExpr> toMarkerAnnotationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<MethodCallExpr> toMethodCallExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<MethodReferenceExpr> toMethodReferenceExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<NameExpr> toNameExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<NormalAnnotationExpr> toNormalAnnotationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<NullLiteralExpr> toNullLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ObjectCreationExpr> toObjectCreationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<SingleMemberAnnotationExpr> toSingleMemberAnnotationExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<StringLiteralExpr> toStringLiteralExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<SuperExpr> toSuperExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<ThisExpr> toThisExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<TypeExpr> toTypeExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<UnaryExpr> toUnaryExpr() {
+ return Optional.empty();
+ }
+
+ public Optional<VariableDeclarationExpr> toVariableDeclarationExpr() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java
index ad0c1da89..5668a2275 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java
@@ -251,4 +251,9 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN
public void ifFieldAccessExpr(Consumer<FieldAccessExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<FieldAccessExpr> toFieldAccessExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java
index fa2b2e1e2..6b672e294 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Usage of the instanceof operator.
@@ -171,4 +172,9 @@ public final class InstanceOfExpr extends Expression implements NodeWithType<Ins
public void ifInstanceOfExpr(Consumer<InstanceOfExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<InstanceOfExpr> toInstanceOfExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/IntegerLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/IntegerLiteralExpr.java
index 8b3686b47..88ca7370f 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/IntegerLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/IntegerLiteralExpr.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* All ways to specify an int literal.
@@ -143,4 +144,9 @@ public final class IntegerLiteralExpr extends LiteralStringValueExpr {
public void ifIntegerLiteralExpr(Consumer<IntegerLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<IntegerLiteralExpr> toIntegerLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java
index 392441c69..52fa429ec 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java
@@ -217,4 +217,9 @@ public final class LambdaExpr extends Expression implements NodeWithParameters<L
public void ifLambdaExpr(Consumer<LambdaExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LambdaExpr> toLambdaExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralExpr.java
index 8e75762d7..8bb07da4b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralExpr.java
@@ -28,6 +28,7 @@ import com.github.javaparser.metamodel.LiteralExprMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A base class for all literal expressions.
@@ -94,4 +95,9 @@ public abstract class LiteralExpr extends Expression {
public void ifLiteralExpr(Consumer<LiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LiteralExpr> toLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralStringValueExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralStringValueExpr.java
index 5c44d0c8d..dbb7afde4 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralStringValueExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LiteralStringValueExpr.java
@@ -30,6 +30,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Any literal value that is stored internally as a String.
@@ -113,4 +114,9 @@ public abstract class LiteralStringValueExpr extends LiteralExpr {
public void ifLiteralStringValueExpr(Consumer<LiteralStringValueExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LiteralStringValueExpr> toLiteralStringValueExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LongLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LongLiteralExpr.java
index d6364e049..6be61dd9d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LongLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/LongLiteralExpr.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.LongLiteralExprMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* All ways to specify a long literal.
@@ -147,4 +148,9 @@ public final class LongLiteralExpr extends LiteralStringValueExpr {
public void ifLongLiteralExpr(Consumer<LongLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LongLiteralExpr> toLongLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MarkerAnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MarkerAnnotationExpr.java
index ceadf4bfa..e2526521e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MarkerAnnotationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MarkerAnnotationExpr.java
@@ -31,6 +31,7 @@ import static com.github.javaparser.JavaParser.parseName;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An annotation that uses only the annotation type name.
@@ -118,4 +119,9 @@ public final class MarkerAnnotationExpr extends AnnotationExpr {
public void ifMarkerAnnotationExpr(Consumer<MarkerAnnotationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<MarkerAnnotationExpr> toMarkerAnnotationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java
index f61dde233..efaf44876 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java
@@ -289,4 +289,9 @@ public final class MethodCallExpr extends Expression implements NodeWithTypeArgu
public ResolvedMethodDeclaration resolveInvokedMethod() {
return getSymbolResolver().resolveDeclaration(this, ResolvedMethodDeclaration.class);
}
+
+ @Override
+ public Optional<MethodCallExpr> toMethodCallExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java
index 644e54336..1f45dcf3d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java
@@ -218,4 +218,9 @@ public final class MethodReferenceExpr extends Expression implements NodeWithTyp
public void ifMethodReferenceExpr(Consumer<MethodReferenceExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<MethodReferenceExpr> toMethodReferenceExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java
index 4630699c4..22b8d2ee7 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java
@@ -35,8 +35,8 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.Resolvable;
import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration;
import com.github.javaparser.resolution.types.ResolvedUnionType;
-
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Whenever a SimpleName is used in an expression, it is wrapped in NameExpr.
@@ -156,4 +156,9 @@ public final class NameExpr extends Expression implements NodeWithSimpleName<Nam
public ResolvedValueDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedValueDeclaration.class);
}
+
+ @Override
+ public Optional<NameExpr> toNameExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java
index eced8e576..18ae0a94b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An annotation that has zero or more key-value pairs.<br/><code>@Mapping(a=5, d=10)</code>
@@ -170,4 +171,9 @@ public final class NormalAnnotationExpr extends AnnotationExpr {
public void ifNormalAnnotationExpr(Consumer<NormalAnnotationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<NormalAnnotationExpr> toNormalAnnotationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NullLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NullLiteralExpr.java
index 62a487b19..d62a5866e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NullLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NullLiteralExpr.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A literal "null".
@@ -109,4 +110,9 @@ public final class NullLiteralExpr extends LiteralExpr {
public void ifNullLiteralExpr(Consumer<NullLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<NullLiteralExpr> toNullLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java
index dd0f2829f..3bd95ab0d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java
@@ -345,4 +345,9 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
public ResolvedConstructorDeclaration resolveInvokedConstructor() {
return getSymbolResolver().resolveDeclaration(this, ResolvedConstructorDeclaration.class);
}
+
+ @Override
+ public Optional<ObjectCreationExpr> toObjectCreationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java
index f56262e09..b9825f35e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java
@@ -32,6 +32,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An annotation that has a single value. <br/><code>@Count(15)</code>
@@ -140,4 +141,9 @@ public final class SingleMemberAnnotationExpr extends AnnotationExpr {
public void ifSingleMemberAnnotationExpr(Consumer<SingleMemberAnnotationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<SingleMemberAnnotationExpr> toSingleMemberAnnotationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/StringLiteralExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/StringLiteralExpr.java
index 4602382eb..a71985b51 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/StringLiteralExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/StringLiteralExpr.java
@@ -32,6 +32,7 @@ import com.github.javaparser.utils.Utils;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A literal string.
@@ -163,4 +164,9 @@ public final class StringLiteralExpr extends LiteralStringValueExpr {
public void ifStringLiteralExpr(Consumer<StringLiteralExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<StringLiteralExpr> toStringLiteralExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java
index 8b51e4a6b..fe38a2693 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java
@@ -162,4 +162,9 @@ public final class SuperExpr extends Expression {
public void ifSuperExpr(Consumer<SuperExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<SuperExpr> toSuperExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java
index 3c77bf7d8..9c133770c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java
@@ -35,7 +35,6 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.Resolvable;
import com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration;
-
import java.util.function.Consumer;
/**
@@ -166,4 +165,9 @@ public final class ThisExpr extends Expression implements Resolvable<ResolvedTyp
public ResolvedTypeDeclaration resolve() {
return getSymbolResolver().resolveDeclaration(this, ResolvedTypeDeclaration.class);
}
+
+ @Override
+ public Optional<ThisExpr> toThisExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java
index 9619a28df..cd3bd880e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* This class is just instantiated as scopes for MethodReferenceExpr nodes to encapsulate Types.
@@ -145,4 +146,9 @@ public final class TypeExpr extends Expression implements NodeWithType<TypeExpr,
public void ifTypeExpr(Consumer<TypeExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<TypeExpr> toTypeExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java
index 14f1ace8a..8bd9e78c2 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java
@@ -35,6 +35,7 @@ import com.github.javaparser.printer.Printable;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An expression where an operator is applied to a single expression.
@@ -203,4 +204,9 @@ public final class UnaryExpr extends Expression implements NodeWithExpression<Un
public void ifUnaryExpr(Consumer<UnaryExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<UnaryExpr> toUnaryExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
index f320ca51a..e455967ad 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
@@ -45,6 +45,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A declaration of variables.
@@ -251,4 +252,9 @@ public final class VariableDeclarationExpr extends Expression implements NodeWit
public void ifVariableDeclarationExpr(Consumer<VariableDeclarationExpr> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<VariableDeclarationExpr> toVariableDeclarationExpr() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleExportsStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleExportsStmt.java
index bcf94e3e6..8f59ee4c4 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleExportsStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleExportsStmt.java
@@ -17,6 +17,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
public final class ModuleExportsStmt extends ModuleStmt implements NodeWithName<ModuleExportsStmt> {
@@ -154,4 +155,9 @@ public final class ModuleExportsStmt extends ModuleStmt implements NodeWithName<
public void ifModuleExportsStmt(Consumer<ModuleExportsStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ModuleExportsStmt> toModuleExportsStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleOpensStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleOpensStmt.java
index 70635575d..03b9862ca 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleOpensStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleOpensStmt.java
@@ -17,6 +17,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
public final class ModuleOpensStmt extends ModuleStmt implements NodeWithName<ModuleOpensStmt> {
@@ -154,4 +155,9 @@ public final class ModuleOpensStmt extends ModuleStmt implements NodeWithName<Mo
public void ifModuleOpensStmt(Consumer<ModuleOpensStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ModuleOpensStmt> toModuleOpensStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleProvidesStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleProvidesStmt.java
index dd7ae14c2..48c3fb82d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleProvidesStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleProvidesStmt.java
@@ -18,6 +18,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
public final class ModuleProvidesStmt extends ModuleStmt implements NodeWithType<ModuleProvidesStmt, Type> {
@@ -155,4 +156,9 @@ public final class ModuleProvidesStmt extends ModuleStmt implements NodeWithType
public void ifModuleProvidesStmt(Consumer<ModuleProvidesStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ModuleProvidesStmt> toModuleProvidesStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleRequiresStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleRequiresStmt.java
index 9fb91b594..2c6dd4b10 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleRequiresStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleRequiresStmt.java
@@ -18,6 +18,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A require statement in module-info.java. <code>require a.b.C;</code>
@@ -151,4 +152,9 @@ public final class ModuleRequiresStmt extends ModuleStmt implements NodeWithStat
public void ifModuleRequiresStmt(Consumer<ModuleRequiresStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ModuleRequiresStmt> toModuleRequiresStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleStmt.java
index ab5c3451f..e75fe7b0f 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleStmt.java
@@ -9,6 +9,7 @@ import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
+import java.util.Optional;
public abstract class ModuleStmt extends Node {
@@ -123,4 +124,24 @@ public abstract class ModuleStmt extends Node {
@Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifModuleUsesStmt(Consumer<ModuleUsesStmt> action) {
}
+
+ public Optional<ModuleExportsStmt> toModuleExportsStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ModuleOpensStmt> toModuleOpensStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ModuleProvidesStmt> toModuleProvidesStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ModuleRequiresStmt> toModuleRequiresStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ModuleUsesStmt> toModuleUsesStmt() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleUsesStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleUsesStmt.java
index abe92ba45..a30e880fe 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleUsesStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/modules/ModuleUsesStmt.java
@@ -14,6 +14,7 @@ import static com.github.javaparser.utils.Utils.assertNotNull;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
public final class ModuleUsesStmt extends ModuleStmt implements NodeWithType<ModuleUsesStmt, Type> {
@@ -117,4 +118,9 @@ public final class ModuleUsesStmt extends ModuleStmt implements NodeWithType<Mod
public void ifModuleUsesStmt(Consumer<ModuleUsesStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ModuleUsesStmt> toModuleUsesStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java
index 611e87ae9..8e8cb796d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java
@@ -191,4 +191,9 @@ public final class AssertStmt extends Statement {
public void ifAssertStmt(Consumer<AssertStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<AssertStmt> toAssertStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java
index 239c955c2..4e63fb952 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Statements in between { and }.
@@ -152,4 +153,9 @@ public final class BlockStmt extends Statement implements NodeWithStatements<Blo
public void ifBlockStmt(Consumer<BlockStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<BlockStmt> toBlockStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java
index 5ef666989..1192b4386 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java
@@ -164,4 +164,9 @@ public final class BreakStmt extends Statement {
public void ifBreakStmt(Consumer<BreakStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<BreakStmt> toBreakStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java
index 9bfa5118f..639c7dbc0 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java
@@ -166,4 +166,9 @@ public final class ContinueStmt extends Statement implements NodeWithOptionalLab
public void ifContinueStmt(Consumer<ContinueStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ContinueStmt> toContinueStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java
index 3fcf0facc..a40ac489f 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A do-while.
@@ -171,4 +172,9 @@ public final class DoStmt extends Statement implements NodeWithBody<DoStmt>, Nod
public void ifDoStmt(Consumer<DoStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<DoStmt> toDoStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/EmptyStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/EmptyStmt.java
index 2f035e889..5fc9897b0 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/EmptyStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/EmptyStmt.java
@@ -30,6 +30,7 @@ import com.github.javaparser.metamodel.EmptyStmtMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An empty statement is a ";" where a statement is expected.
@@ -107,4 +108,9 @@ public final class EmptyStmt extends Statement {
public void ifEmptyStmt(Consumer<EmptyStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<EmptyStmt> toEmptyStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExplicitConstructorInvocationStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExplicitConstructorInvocationStmt.java
index 20b5c8d66..105fb2d14 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExplicitConstructorInvocationStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExplicitConstructorInvocationStmt.java
@@ -39,7 +39,6 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration;
-
import java.util.function.Consumer;
/**
@@ -288,4 +287,9 @@ public final class ExplicitConstructorInvocationStmt extends Statement implement
public ResolvedConstructorDeclaration resolveInvokedConstructor() {
return getSymbolResolver().resolveDeclaration(this, ResolvedConstructorDeclaration.class);
}
+
+ @Override
+ public Optional<ExplicitConstructorInvocationStmt> toExplicitConstructorInvocationStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExpressionStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExpressionStmt.java
index d38ef9705..d8e35fc64 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExpressionStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ExpressionStmt.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Used to wrap an expression so that it can take the place of a statement.
@@ -143,4 +144,9 @@ public final class ExpressionStmt extends Statement implements NodeWithExpressio
public void ifExpressionStmt(Consumer<ExpressionStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ExpressionStmt> toExpressionStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java
index bb3c079cb..45c51ef19 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java
@@ -261,4 +261,9 @@ public final class ForStmt extends Statement implements NodeWithBody<ForStmt> {
public void ifForStmt(Consumer<ForStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ForStmt> toForStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForeachStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForeachStmt.java
index 90bc00edb..b8158f696 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForeachStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForeachStmt.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A for-each statement.
@@ -201,4 +202,9 @@ public final class ForeachStmt extends Statement implements NodeWithBody<Foreach
public void ifForeachStmt(Consumer<ForeachStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ForeachStmt> toForeachStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/IfStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/IfStmt.java
index f2c94aedb..bb80cadda 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/IfStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/IfStmt.java
@@ -249,4 +249,9 @@ public final class IfStmt extends Statement implements NodeWithCondition<IfStmt>
public void ifIfStmt(Consumer<IfStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<IfStmt> toIfStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java
index 84d3643eb..355dc5bc8 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java
@@ -33,6 +33,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A statement that is labeled, like <code>label123: println("continuing");</code>
@@ -171,4 +172,9 @@ public final class LabeledStmt extends Statement {
public void ifLabeledStmt(Consumer<LabeledStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LabeledStmt> toLabeledStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java
index e40769e6a..d1f8be4e4 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java
@@ -33,6 +33,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A class declaration inside a method.
@@ -144,4 +145,9 @@ public final class LocalClassDeclarationStmt extends Statement {
public void ifLocalClassDeclarationStmt(Consumer<LocalClassDeclarationStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<LocalClassDeclarationStmt> toLocalClassDeclarationStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java
index acea3f7d2..b6538d4d2 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java
@@ -167,4 +167,9 @@ public final class ReturnStmt extends Statement {
public void ifReturnStmt(Consumer<ReturnStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ReturnStmt> toReturnStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java
index 7df4c83e4..5a6e8462c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java
@@ -29,6 +29,7 @@ import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
+import java.util.Optional;
/**
* A base class for all statements.
@@ -372,4 +373,88 @@ public abstract class Statement extends Node {
@Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
public void ifWhileStmt(Consumer<WhileStmt> action) {
}
+
+ public Optional<AssertStmt> toAssertStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<BlockStmt> toBlockStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<BreakStmt> toBreakStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ContinueStmt> toContinueStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<DoStmt> toDoStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<EmptyStmt> toEmptyStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ExplicitConstructorInvocationStmt> toExplicitConstructorInvocationStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ExpressionStmt> toExpressionStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ForStmt> toForStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ForeachStmt> toForeachStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<IfStmt> toIfStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<LabeledStmt> toLabeledStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<LocalClassDeclarationStmt> toLocalClassDeclarationStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ReturnStmt> toReturnStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<SwitchEntryStmt> toSwitchEntryStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<SwitchStmt> toSwitchStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<SynchronizedStmt> toSynchronizedStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<ThrowStmt> toThrowStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<TryStmt> toTryStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<UnparsableStmt> toUnparsableStmt() {
+ return Optional.empty();
+ }
+
+ public Optional<WhileStmt> toWhileStmt() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java
index e6157a822..c32a1b476 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java
@@ -213,4 +213,9 @@ public final class SwitchEntryStmt extends Statement implements NodeWithStatemen
public void ifSwitchEntryStmt(Consumer<SwitchEntryStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<SwitchEntryStmt> toSwitchEntryStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java
index 92b5d8718..778bbb14e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java
@@ -37,6 +37,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A switch statement.
@@ -196,4 +197,9 @@ public final class SwitchStmt extends Statement {
public void ifSwitchStmt(Consumer<SwitchStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<SwitchStmt> toSwitchStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java
index be2c40c26..2b36fc281 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Usage of the synchronized keyword.
@@ -171,4 +172,9 @@ public final class SynchronizedStmt extends Statement implements NodeWithBlockSt
public void ifSynchronizedStmt(Consumer<SynchronizedStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<SynchronizedStmt> toSynchronizedStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java
index 1a9489c4e..a9e843238 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java
@@ -35,6 +35,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Usage of the throw statement.
@@ -144,4 +145,9 @@ public final class ThrowStmt extends Statement implements NodeWithExpression<Thr
public void ifThrowStmt(Consumer<ThrowStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ThrowStmt> toThrowStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java
index a96cec9cc..efa45f862 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java
@@ -310,4 +310,9 @@ public final class TryStmt extends Statement {
public void ifTryStmt(Consumer<TryStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<TryStmt> toTryStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/UnparsableStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/UnparsableStmt.java
index c66798310..08fcf3b6e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/UnparsableStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/UnparsableStmt.java
@@ -11,6 +11,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.UnparsableStmtMetaModel;
import static com.github.javaparser.ast.Node.Parsedness.*;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A statement that had parse errors.
@@ -93,4 +94,9 @@ public final class UnparsableStmt extends Statement {
public void ifUnparsableStmt(Consumer<UnparsableStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<UnparsableStmt> toUnparsableStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java
index 52c2c4894..4c7d1a8cb 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java
@@ -36,6 +36,7 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import javax.annotation.Generated;
import com.github.javaparser.TokenRange;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A while statement.
@@ -171,4 +172,9 @@ public final class WhileStmt extends Statement implements NodeWithBody<WhileStmt
public void ifWhileStmt(Consumer<WhileStmt> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<WhileStmt> toWhileStmt() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java
index 45ccd1263..d5d8e26a8 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java
@@ -283,4 +283,9 @@ public final class ArrayType extends ReferenceType implements NodeWithAnnotation
public void ifArrayType(Consumer<ArrayType> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ArrayType> toArrayType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
index e936887a4..3ea6e145d 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java
@@ -290,4 +290,9 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit
public ResolvedReferenceType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedReferenceType.class);
}
+
+ @Override
+ public Optional<ClassOrInterfaceType> toClassOrInterfaceType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java
index bf9a3f7aa..d672dd76a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java
@@ -41,6 +41,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.types.ResolvedIntersectionType;
import com.github.javaparser.resolution.types.ResolvedReferenceType;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Represents a set of types. A given value of this type has to be assignable to at all of the element types.
@@ -176,4 +177,9 @@ public final class IntersectionType extends Type implements NodeWithAnnotations<
public ResolvedIntersectionType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedIntersectionType.class);
}
+
+ @Override
+ public Optional<IntersectionType> toIntersectionType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/PrimitiveType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/PrimitiveType.java
index f65be449e..5fc257bb7 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/PrimitiveType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/PrimitiveType.java
@@ -41,6 +41,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.types.ResolvedPrimitiveType;
import com.github.javaparser.resolution.types.ResolvedReferenceType;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A primitive type.
@@ -230,4 +231,9 @@ public final class PrimitiveType extends Type implements NodeWithAnnotations<Pri
public ResolvedPrimitiveType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedPrimitiveType.class);
}
+
+ @Override
+ public Optional<PrimitiveType> toPrimitiveType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ReferenceType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ReferenceType.java
index d65bfe7c9..9ca8c363c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ReferenceType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ReferenceType.java
@@ -28,9 +28,9 @@ import com.github.javaparser.ast.expr.AnnotationExpr;
import com.github.javaparser.ast.visitor.CloneVisitor;
import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.ReferenceTypeMetaModel;
-
import javax.annotation.Generated;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* Base class for reference types.
@@ -101,4 +101,9 @@ public abstract class ReferenceType extends Type {
public void ifReferenceType(Consumer<ReferenceType> action) {
action.accept(this);
}
+
+ @Override
+ public Optional<ReferenceType> toReferenceType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java
index 12405896d..f20e92668 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java
@@ -38,6 +38,7 @@ import com.github.javaparser.resolution.types.ResolvedType;
import java.util.function.Consumer;
import java.util.function.Supplier;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
+import java.util.Optional;
/**
* Base class for types.
@@ -298,4 +299,44 @@ public abstract class Type extends Node implements Resolvable<Object> {
@Override
public abstract ResolvedType resolve();
+
+ public Optional<ArrayType> toArrayType() {
+ return Optional.empty();
+ }
+
+ public Optional<ClassOrInterfaceType> toClassOrInterfaceType() {
+ return Optional.empty();
+ }
+
+ public Optional<IntersectionType> toIntersectionType() {
+ return Optional.empty();
+ }
+
+ public Optional<PrimitiveType> toPrimitiveType() {
+ return Optional.empty();
+ }
+
+ public Optional<ReferenceType> toReferenceType() {
+ return Optional.empty();
+ }
+
+ public Optional<TypeParameter> toTypeParameter() {
+ return Optional.empty();
+ }
+
+ public Optional<UnionType> toUnionType() {
+ return Optional.empty();
+ }
+
+ public Optional<UnknownType> toUnknownType() {
+ return Optional.empty();
+ }
+
+ public Optional<VoidType> toVoidType() {
+ return Optional.empty();
+ }
+
+ public Optional<WildcardType> toWildcardType() {
+ return Optional.empty();
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java
index 6f2ecb04c..b2a63a437 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java
@@ -41,6 +41,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration;
import com.github.javaparser.resolution.types.ResolvedTypeVariable;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* A type parameter.
@@ -236,4 +237,9 @@ public final class TypeParameter extends ReferenceType implements NodeWithSimple
public ResolvedTypeVariable resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedTypeVariable.class);
}
+
+ @Override
+ public Optional<TypeParameter> toTypeParameter() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java
index 6feeada4d..8c77df024 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java
@@ -41,6 +41,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.types.ResolvedReferenceType;
import com.github.javaparser.resolution.types.ResolvedUnionType;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* <h1>The union type</h1>
@@ -185,4 +186,9 @@ public final class UnionType extends Type implements NodeWithAnnotations<UnionTy
public ResolvedUnionType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedUnionType.class);
}
+
+ @Override
+ public Optional<UnionType> toUnionType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnknownType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnknownType.java
index 0afd12e9a..260ccbbca 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnknownType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnknownType.java
@@ -37,6 +37,7 @@ import com.github.javaparser.resolution.types.ResolvedReferenceType;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.resolution.types.ResolvedUnionType;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* An unknown parameter type object. It plays the role of a null object for
@@ -137,4 +138,9 @@ public final class UnknownType extends Type {
public ResolvedType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedReferenceType.class);
}
+
+ @Override
+ public Optional<UnknownType> toUnknownType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/VoidType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/VoidType.java
index 7bd59e147..49cc6a9e3 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/VoidType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/VoidType.java
@@ -37,6 +37,7 @@ import com.github.javaparser.TokenRange;
import com.github.javaparser.resolution.types.ResolvedUnionType;
import com.github.javaparser.resolution.types.ResolvedVoidType;
import java.util.function.Consumer;
+import java.util.Optional;
/**
* The return type of a {@link com.github.javaparser.ast.body.MethodDeclaration}
@@ -132,4 +133,9 @@ public final class VoidType extends Type implements NodeWithAnnotations<VoidType
public ResolvedVoidType resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedVoidType.class);
}
+
+ @Override
+ public Optional<VoidType> toVoidType() {
+ return Optional.of(this);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java
index 984222885..6060dcf80 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java
@@ -289,4 +289,9 @@ public final class WildcardType extends Type implements NodeWithAnnotations<Wild
public ResolvedWildcard resolve() {
return getSymbolResolver().toResolvedType(this, ResolvedWildcard.class);
}
+
+ @Override
+ public Optional<WildcardType> toWildcardType() {
+ return Optional.of(this);
+ }
}