aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core/src
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-01-31 19:42:51 +0100
committerDanny van Bruggen <hexagonaal@gmail.com>2017-01-31 19:42:51 +0100
commit0831b41f9ef0d7413dd740048c5c10e4c3abd0a3 (patch)
treebfb9315cb4ebe95ec9ce7f2b5b5d67aaedb27a42 /javaparser-core/src
parentcf1b018252cea5ecdc2610f47956c660015ff552 (diff)
downloadjavaparser-0831b41f9ef0d7413dd740048c5c10e4c3abd0a3.tar.gz
Improve parent node handling when overwriting nodes
Diffstat (limited to 'javaparser-core/src')
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/ArrayCreationLevel.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/ImportDeclaration.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/PackageDeclaration.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/AnnotationMemberDeclaration.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/BodyDeclaration.java2
-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.java10
-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.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/InitializerDeclaration.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java12
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/Parameter.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/TypeDeclaration.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/VariableDeclarator.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/AnnotationExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayAccessExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayCreationExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ArrayInitializerExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/AssignExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/BinaryExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/CastExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ClassExpr.java2
-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/EnclosedExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/InstanceOfExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MemberValuePair.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodCallExpr.java8
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/MethodReferenceExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/Name.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NameExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ObjectCreationExpr.java10
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/SingleMemberAnnotationExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/SuperExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/ThisExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/TypeExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/UnaryExpr.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/VariableDeclarationExpr.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/AssertStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BlockStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/BreakStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/CatchClause.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ContinueStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/DoStmt.java4
-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.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ForStmt.java8
-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.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LabeledStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/LocalClassDeclarationStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ReturnStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SynchronizedStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/ThrowStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/TryStmt.java8
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/stmt/WhileStmt.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ArrayType.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/IntersectionType.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/Type.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/TypeParameter.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/type/WildcardType.java4
69 files changed, 280 insertions, 0 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/ArrayCreationLevel.java b/javaparser-core/src/main/java/com/github/javaparser/ast/ArrayCreationLevel.java
index ef6f32ce8..ae707a858 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/ArrayCreationLevel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/ArrayCreationLevel.java
@@ -85,6 +85,8 @@ public class ArrayCreationLevel extends Node implements NodeWithAnnotations<Arra
*/
public ArrayCreationLevel setDimension(final Expression dimension) {
notifyPropertyChange(ObservableProperty.DIMENSION, this.dimension, dimension);
+ if (this.dimension != null)
+ this.dimension.setParentNode(null);
this.dimension = dimension;
setAsParentNodeOf(dimension);
return this;
@@ -103,6 +105,8 @@ public class ArrayCreationLevel extends Node implements NodeWithAnnotations<Arra
public ArrayCreationLevel setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java b/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java
index 41fddce0a..f3b204139 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java
@@ -164,6 +164,8 @@ public final class CompilationUnit extends Node {
public CompilationUnit setImports(final NodeList<ImportDeclaration> imports) {
assertNotNull(imports);
notifyPropertyChange(ObservableProperty.IMPORTS, this.imports, imports);
+ if (this.imports != null)
+ this.imports.setParentNode(null);
this.imports = imports;
setAsParentNodeOf(imports);
return this;
@@ -186,6 +188,8 @@ public final class CompilationUnit extends Node {
*/
public CompilationUnit setPackageDeclaration(final PackageDeclaration packageDeclaration) {
notifyPropertyChange(ObservableProperty.PACKAGE_DECLARATION, this.packageDeclaration, packageDeclaration);
+ if (this.packageDeclaration != null)
+ this.packageDeclaration.setParentNode(null);
this.packageDeclaration = packageDeclaration;
setAsParentNodeOf(packageDeclaration);
return this;
@@ -197,6 +201,8 @@ public final class CompilationUnit extends Node {
public CompilationUnit setTypes(final NodeList<TypeDeclaration<?>> types) {
assertNotNull(types);
notifyPropertyChange(ObservableProperty.TYPES, this.types, types);
+ if (this.types != null)
+ this.types.setParentNode(null);
this.types = types;
setAsParentNodeOf(types);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/ImportDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/ImportDeclaration.java
index ed58caf8b..6dec91245 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/ImportDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/ImportDeclaration.java
@@ -100,6 +100,8 @@ public final class ImportDeclaration extends Node implements NodeWithName<Import
public ImportDeclaration setName(final Name name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/PackageDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/PackageDeclaration.java
index 554a672ad..7f8b766fe 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/PackageDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/PackageDeclaration.java
@@ -102,6 +102,8 @@ public final class PackageDeclaration extends Node implements NodeWithAnnotation
public PackageDeclaration setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return this;
@@ -116,6 +118,8 @@ public final class PackageDeclaration extends Node implements NodeWithAnnotation
public PackageDeclaration setName(final Name name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 238697c5c..cd18dcefe 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
@@ -130,6 +130,8 @@ public final class AnnotationMemberDeclaration extends BodyDeclaration<Annotatio
*/
public AnnotationMemberDeclaration setDefaultValue(final Expression defaultValue) {
notifyPropertyChange(ObservableProperty.DEFAULT_VALUE, this.defaultValue, defaultValue);
+ if (this.defaultValue != null)
+ this.defaultValue.setParentNode(null);
this.defaultValue = defaultValue;
setAsParentNodeOf(defaultValue);
return this;
@@ -147,6 +149,8 @@ public final class AnnotationMemberDeclaration extends BodyDeclaration<Annotatio
public AnnotationMemberDeclaration setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -156,6 +160,8 @@ public final class AnnotationMemberDeclaration extends BodyDeclaration<Annotatio
public AnnotationMemberDeclaration setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 5affb36b7..91a4c0c77 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
@@ -66,6 +66,8 @@ public abstract class BodyDeclaration<T extends Node> extends Node implements No
public final T setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return (T) 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 36e32bfc2..63de1b10b 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
@@ -106,6 +106,8 @@ public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrIn
public ClassOrInterfaceDeclaration setExtendedTypes(final NodeList<ClassOrInterfaceType> extendedTypes) {
assertNotNull(extendedTypes);
notifyPropertyChange(ObservableProperty.EXTENDED_TYPES, this.extendedTypes, extendedTypes);
+ if (this.extendedTypes != null)
+ this.extendedTypes.setParentNode(null);
this.extendedTypes = extendedTypes;
setAsParentNodeOf(extendedTypes);
return this;
@@ -115,6 +117,8 @@ public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrIn
public ClassOrInterfaceDeclaration setImplementedTypes(final NodeList<ClassOrInterfaceType> implementedTypes) {
assertNotNull(implementedTypes);
notifyPropertyChange(ObservableProperty.IMPLEMENTED_TYPES, this.implementedTypes, implementedTypes);
+ if (this.implementedTypes != null)
+ this.implementedTypes.setParentNode(null);
this.implementedTypes = implementedTypes;
setAsParentNodeOf(implementedTypes);
return this;
@@ -130,6 +134,8 @@ public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrIn
public ClassOrInterfaceDeclaration setTypeParameters(final NodeList<TypeParameter> typeParameters) {
assertNotNull(typeParameters);
notifyPropertyChange(ObservableProperty.TYPE_PARAMETERS, this.typeParameters, typeParameters);
+ if (this.typeParameters != null)
+ this.typeParameters.setParentNode(null);
this.typeParameters = typeParameters;
setAsParentNodeOf(typeParameters);
return 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 7d3e01858..930ad08c7 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
@@ -136,6 +136,8 @@ public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDec
public ConstructorDeclaration setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -145,6 +147,8 @@ public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDec
public ConstructorDeclaration setParameters(final NodeList<Parameter> parameters) {
assertNotNull(parameters);
notifyPropertyChange(ObservableProperty.PARAMETERS, this.parameters, parameters);
+ if (this.parameters != null)
+ this.parameters.setParentNode(null);
this.parameters = parameters;
setAsParentNodeOf(parameters);
return this;
@@ -154,6 +158,8 @@ public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDec
public ConstructorDeclaration setThrownExceptions(final NodeList<ReferenceType> thrownExceptions) {
assertNotNull(thrownExceptions);
notifyPropertyChange(ObservableProperty.THROWN_EXCEPTIONS, this.thrownExceptions, thrownExceptions);
+ if (this.thrownExceptions != null)
+ this.thrownExceptions.setParentNode(null);
this.thrownExceptions = thrownExceptions;
setAsParentNodeOf(thrownExceptions);
return this;
@@ -163,6 +169,8 @@ public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDec
public ConstructorDeclaration setTypeParameters(final NodeList<TypeParameter> typeParameters) {
assertNotNull(typeParameters);
notifyPropertyChange(ObservableProperty.TYPE_PARAMETERS, this.typeParameters, typeParameters);
+ if (this.typeParameters != null)
+ this.typeParameters.setParentNode(null);
this.typeParameters = typeParameters;
setAsParentNodeOf(typeParameters);
return this;
@@ -232,6 +240,8 @@ public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDec
public ConstructorDeclaration setBody(final BlockStmt body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return 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 10058c37b..7e597b896 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
@@ -97,6 +97,8 @@ public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantD
public EnumConstantDeclaration setArguments(final NodeList<Expression> arguments) {
assertNotNull(arguments);
notifyPropertyChange(ObservableProperty.ARGUMENTS, this.arguments, arguments);
+ if (this.arguments != null)
+ this.arguments.setParentNode(null);
this.arguments = arguments;
setAsParentNodeOf(arguments);
return this;
@@ -105,6 +107,8 @@ public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantD
public EnumConstantDeclaration setClassBody(final NodeList<BodyDeclaration<?>> classBody) {
assertNotNull(classBody);
notifyPropertyChange(ObservableProperty.CLASS_BODY, this.classBody, classBody);
+ if (this.classBody != null)
+ this.classBody.setParentNode(null);
this.classBody = classBody;
setAsParentNodeOf(classBody);
return this;
@@ -114,6 +118,8 @@ public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantD
public EnumConstantDeclaration setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 34240424a..e347cbe4b 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
@@ -104,6 +104,8 @@ public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> impl
public EnumDeclaration setEntries(final NodeList<EnumConstantDeclaration> entries) {
assertNotNull(entries);
notifyPropertyChange(ObservableProperty.ENTRIES, this.entries, entries);
+ if (this.entries != null)
+ this.entries.setParentNode(null);
this.entries = entries;
setAsParentNodeOf(entries);
return this;
@@ -113,6 +115,8 @@ public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> impl
public EnumDeclaration setImplementedTypes(final NodeList<ClassOrInterfaceType> implementedTypes) {
assertNotNull(implementedTypes);
notifyPropertyChange(ObservableProperty.IMPLEMENTED_TYPES, this.implementedTypes, implementedTypes);
+ if (this.implementedTypes != null)
+ this.implementedTypes.setParentNode(null);
this.implementedTypes = implementedTypes;
setAsParentNodeOf(implementedTypes);
return 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 1fdf4773f..0193a1e67 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
@@ -128,6 +128,8 @@ public final class FieldDeclaration extends BodyDeclaration<FieldDeclaration> im
public FieldDeclaration setVariables(final NodeList<VariableDeclarator> variables) {
assertNotNull(variables);
notifyPropertyChange(ObservableProperty.VARIABLES, this.variables, variables);
+ if (this.variables != null)
+ this.variables.setParentNode(null);
this.variables = variables;
setAsParentNodeOf(variables);
return 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 b8ec07f9f..1245db260 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
@@ -82,6 +82,8 @@ public final class InitializerDeclaration extends BodyDeclaration<InitializerDec
public InitializerDeclaration setBody(final BlockStmt body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return 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 7577e0264..75bfb65a0 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
@@ -148,6 +148,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
@Override
public MethodDeclaration setBody(final BlockStmt body) {
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
@@ -165,6 +167,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
public MethodDeclaration setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -174,6 +178,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
public MethodDeclaration setParameters(final NodeList<Parameter> parameters) {
assertNotNull(parameters);
notifyPropertyChange(ObservableProperty.PARAMETERS, this.parameters, parameters);
+ if (this.parameters != null)
+ this.parameters.setParentNode(null);
this.parameters = parameters;
setAsParentNodeOf(parameters);
return this;
@@ -183,6 +189,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
public MethodDeclaration setThrownExceptions(final NodeList<ReferenceType> thrownExceptions) {
assertNotNull(thrownExceptions);
notifyPropertyChange(ObservableProperty.THROWN_EXCEPTIONS, this.thrownExceptions, thrownExceptions);
+ if (this.thrownExceptions != null)
+ this.thrownExceptions.setParentNode(null);
this.thrownExceptions = thrownExceptions;
setAsParentNodeOf(thrownExceptions);
return this;
@@ -197,6 +205,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
public MethodDeclaration setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return this;
@@ -206,6 +216,8 @@ public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration>
public MethodDeclaration setTypeParameters(final NodeList<TypeParameter> typeParameters) {
assertNotNull(typeParameters);
notifyPropertyChange(ObservableProperty.TYPE_PARAMETERS, this.typeParameters, typeParameters);
+ if (this.typeParameters != null)
+ this.typeParameters.setParentNode(null);
this.typeParameters = typeParameters;
setAsParentNodeOf(typeParameters);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/Parameter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/Parameter.java
index 32285cf56..de811f140 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/Parameter.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/Parameter.java
@@ -120,6 +120,8 @@ public final class Parameter extends Node implements NodeWithType<Parameter, Typ
public Parameter setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return this;
@@ -163,6 +165,8 @@ public final class Parameter extends Node implements NodeWithType<Parameter, Typ
public Parameter setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return this;
@@ -172,6 +176,8 @@ public final class Parameter extends Node implements NodeWithType<Parameter, Typ
public Parameter setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 b09d80731..2cc9dc378 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
@@ -101,6 +101,8 @@ public abstract class TypeDeclaration<T extends Node> extends BodyDeclaration<T>
public T setMembers(final NodeList<BodyDeclaration<?>> members) {
assertNotNull(members);
notifyPropertyChange(ObservableProperty.MEMBERS, this.members, members);
+ if (this.members != null)
+ this.members.setParentNode(null);
this.members = members;
setAsParentNodeOf(members);
return (T) this;
@@ -120,6 +122,8 @@ public abstract class TypeDeclaration<T extends Node> extends BodyDeclaration<T>
public T setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return (T) this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/VariableDeclarator.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/VariableDeclarator.java
index e2333949d..573c6b8cd 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/VariableDeclarator.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/VariableDeclarator.java
@@ -107,6 +107,8 @@ public final class VariableDeclarator extends Node implements NodeWithType<Varia
public VariableDeclarator setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -120,6 +122,8 @@ public final class VariableDeclarator extends Node implements NodeWithType<Varia
*/
public VariableDeclarator setInitializer(final Expression initializer) {
notifyPropertyChange(ObservableProperty.INITIALIZER, this.initializer, initializer);
+ if (this.initializer != null)
+ this.initializer.setParentNode(null);
this.initializer = initializer;
setAsParentNodeOf(initializer);
return this;
@@ -144,6 +148,8 @@ public final class VariableDeclarator extends Node implements NodeWithType<Varia
public VariableDeclarator setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 ce101d84b..ecfd0a21f 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
@@ -56,6 +56,8 @@ public abstract class AnnotationExpr extends Expression implements NodeWithName<
public AnnotationExpr setName(final Name name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 9e156e60a..17c303ba4 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
@@ -75,6 +75,8 @@ public final class ArrayAccessExpr extends Expression {
public ArrayAccessExpr setIndex(final Expression index) {
assertNotNull(index);
notifyPropertyChange(ObservableProperty.INDEX, this.index, index);
+ if (this.index != null)
+ this.index.setParentNode(null);
this.index = index;
setAsParentNodeOf(index);
return this;
@@ -83,6 +85,8 @@ public final class ArrayAccessExpr extends Expression {
public ArrayAccessExpr setName(final Expression name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 483412714..6786bdc52 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
@@ -102,6 +102,8 @@ public final class ArrayCreationExpr extends Expression {
*/
public ArrayCreationExpr setInitializer(final ArrayInitializerExpr initializer) {
notifyPropertyChange(ObservableProperty.INITIALIZER, this.initializer, initializer);
+ if (this.initializer != null)
+ this.initializer.setParentNode(null);
this.initializer = initializer;
setAsParentNodeOf(initializer);
return this;
@@ -110,6 +112,8 @@ public final class ArrayCreationExpr extends Expression {
public ArrayCreationExpr setElementType(final Type elementType) {
assertNotNull(elementType);
notifyPropertyChange(ObservableProperty.ELEMENT_TYPE, this.elementType, elementType);
+ if (this.elementType != null)
+ this.elementType.setParentNode(null);
this.elementType = elementType;
setAsParentNodeOf(elementType);
return this;
@@ -122,6 +126,8 @@ public final class ArrayCreationExpr extends Expression {
public ArrayCreationExpr setLevels(final NodeList<ArrayCreationLevel> levels) {
assertNotNull(levels);
notifyPropertyChange(ObservableProperty.LEVELS, this.levels, levels);
+ if (this.levels != null)
+ this.levels.setParentNode(null);
this.levels = levels;
setAsParentNodeOf(levels);
return 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 c9490cd62..47aee1891 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
@@ -73,6 +73,8 @@ public final class ArrayInitializerExpr extends Expression {
public ArrayInitializerExpr setValues(final NodeList<Expression> values) {
assertNotNull(values);
notifyPropertyChange(ObservableProperty.VALUES, this.values, values);
+ if (this.values != null)
+ this.values.setParentNode(null);
this.values = values;
setAsParentNodeOf(values);
return 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 dc54fe4d4..eee5cbc56 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
@@ -105,6 +105,8 @@ public final class AssignExpr extends Expression {
public AssignExpr setTarget(final Expression target) {
assertNotNull(target);
notifyPropertyChange(ObservableProperty.TARGET, this.target, target);
+ if (this.target != null)
+ this.target.setParentNode(null);
this.target = target;
setAsParentNodeOf(target);
return this;
@@ -113,6 +115,8 @@ public final class AssignExpr extends Expression {
public AssignExpr setValue(final Expression value) {
assertNotNull(value);
notifyPropertyChange(ObservableProperty.VALUE, this.value, value);
+ if (this.value != null)
+ this.value.setParentNode(null);
this.value = value;
setAsParentNodeOf(value);
return 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 a24ca39c2..3059a11bd 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
@@ -99,6 +99,8 @@ public final class BinaryExpr extends Expression {
public BinaryExpr setLeft(final Expression left) {
assertNotNull(left);
notifyPropertyChange(ObservableProperty.LEFT, this.left, left);
+ if (this.left != null)
+ this.left.setParentNode(null);
this.left = left;
setAsParentNodeOf(left);
return this;
@@ -114,6 +116,8 @@ public final class BinaryExpr extends Expression {
public BinaryExpr setRight(final Expression right) {
assertNotNull(right);
notifyPropertyChange(ObservableProperty.RIGHT, this.right, right);
+ if (this.right != null)
+ this.right.setParentNode(null);
this.right = right;
setAsParentNodeOf(right);
return 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 3095bbaa8..7955e69ff 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
@@ -81,6 +81,8 @@ public final class CastExpr extends Expression implements NodeWithType<CastExpr,
public CastExpr setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return this;
@@ -90,6 +92,8 @@ public final class CastExpr extends Expression implements NodeWithType<CastExpr,
public CastExpr setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 21e9554e7..e5ab381b9 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
@@ -73,6 +73,8 @@ public final class ClassExpr extends Expression implements NodeWithType<ClassExp
public ClassExpr setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 b47b9a68d..152f759f1 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
@@ -82,6 +82,8 @@ public final class ConditionalExpr extends Expression {
public ConditionalExpr setCondition(final Expression condition) {
assertNotNull(condition);
notifyPropertyChange(ObservableProperty.CONDITION, this.condition, condition);
+ if (this.condition != null)
+ this.condition.setParentNode(null);
this.condition = condition;
setAsParentNodeOf(condition);
return this;
@@ -90,6 +92,8 @@ public final class ConditionalExpr extends Expression {
public ConditionalExpr setElseExpr(final Expression elseExpr) {
assertNotNull(elseExpr);
notifyPropertyChange(ObservableProperty.ELSE_EXPR, this.elseExpr, elseExpr);
+ if (this.elseExpr != null)
+ this.elseExpr.setParentNode(null);
this.elseExpr = elseExpr;
setAsParentNodeOf(elseExpr);
return this;
@@ -98,6 +102,8 @@ public final class ConditionalExpr extends Expression {
public ConditionalExpr setThenExpr(final Expression thenExpr) {
assertNotNull(thenExpr);
notifyPropertyChange(ObservableProperty.THEN_EXPR, this.thenExpr, thenExpr);
+ if (this.thenExpr != null)
+ this.thenExpr.setParentNode(null);
this.thenExpr = thenExpr;
setAsParentNodeOf(thenExpr);
return 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 08fc558db..d92a6b934 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
@@ -73,6 +73,8 @@ public final class EnclosedExpr extends Expression {
*/
public EnclosedExpr setInner(final Expression inner) {
notifyPropertyChange(ObservableProperty.INNER, this.inner, inner);
+ if (this.inner != null)
+ this.inner.setParentNode(null);
this.inner = inner;
setAsParentNodeOf(inner);
return this;
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 c177ce714..880491a7c 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
@@ -88,6 +88,8 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN
public FieldAccessExpr setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -132,6 +134,8 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN
@Override
public FieldAccessExpr setScope(final Expression scope) {
notifyPropertyChange(ObservableProperty.SCOPE, this.scope, scope);
+ if (this.scope != null)
+ this.scope.setParentNode(null);
this.scope = scope;
setAsParentNodeOf(scope);
return this;
@@ -151,6 +155,8 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN
@Override
public FieldAccessExpr setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return 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 71480e809..2e6eb0772 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
@@ -82,6 +82,8 @@ public final class InstanceOfExpr extends Expression implements NodeWithType<Ins
public InstanceOfExpr setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return this;
@@ -91,6 +93,8 @@ public final class InstanceOfExpr extends Expression implements NodeWithType<Ins
public InstanceOfExpr setType(final ReferenceType<?> type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 6cf5c5e0c..a8379757a 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
@@ -78,6 +78,8 @@ public class LambdaExpr extends Expression implements NodeWithParameters<LambdaE
public LambdaExpr setParameters(final NodeList<Parameter> parameters) {
assertNotNull(parameters);
notifyPropertyChange(ObservableProperty.PARAMETERS, this.parameters, parameters);
+ if (this.parameters != null)
+ this.parameters.setParentNode(null);
this.parameters = parameters;
setAsParentNodeOf(parameters);
return this;
@@ -90,6 +92,8 @@ public class LambdaExpr extends Expression implements NodeWithParameters<LambdaE
public LambdaExpr setBody(final Statement body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MemberValuePair.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MemberValuePair.java
index b412d6c89..a51cf4fc5 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MemberValuePair.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/MemberValuePair.java
@@ -83,6 +83,8 @@ public final class MemberValuePair extends Node implements NodeWithSimpleName<Me
public MemberValuePair setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -91,6 +93,8 @@ public final class MemberValuePair extends Node implements NodeWithSimpleName<Me
public MemberValuePair setValue(final Expression value) {
assertNotNull(value);
notifyPropertyChange(ObservableProperty.VALUE, this.value, value);
+ if (this.value != null)
+ this.value.setParentNode(null);
this.value = value;
setAsParentNodeOf(value);
return 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 b89983c99..678410f1b 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
@@ -104,6 +104,8 @@ public final class MethodCallExpr extends Expression implements NodeWithTypeArgu
public MethodCallExpr setArguments(final NodeList<Expression> arguments) {
assertNotNull(arguments);
notifyPropertyChange(ObservableProperty.ARGUMENTS, this.arguments, arguments);
+ if (this.arguments != null)
+ this.arguments.setParentNode(null);
this.arguments = arguments;
setAsParentNodeOf(arguments);
return this;
@@ -113,6 +115,8 @@ public final class MethodCallExpr extends Expression implements NodeWithTypeArgu
public MethodCallExpr setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -121,6 +125,8 @@ public final class MethodCallExpr extends Expression implements NodeWithTypeArgu
@Override
public MethodCallExpr setScope(final Expression scope) {
notifyPropertyChange(ObservableProperty.SCOPE, this.scope, scope);
+ if (this.scope != null)
+ this.scope.setParentNode(null);
this.scope = scope;
setAsParentNodeOf(scope);
return this;
@@ -140,6 +146,8 @@ public final class MethodCallExpr extends Expression implements NodeWithTypeArgu
@Override
public MethodCallExpr setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return 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 f55defa8e..df320459c 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
@@ -87,6 +87,8 @@ public class MethodReferenceExpr extends Expression implements NodeWithTypeArgum
public MethodReferenceExpr setScope(final Expression scope) {
assertNotNull(scope);
notifyPropertyChange(ObservableProperty.SCOPE, this.scope, scope);
+ if (this.scope != null)
+ this.scope.setParentNode(null);
this.scope = scope;
setAsParentNodeOf(scope);
return this;
@@ -106,6 +108,8 @@ public class MethodReferenceExpr extends Expression implements NodeWithTypeArgum
@Override
public MethodReferenceExpr setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Name.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Name.java
index 6871573a3..3254b584e 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Name.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/Name.java
@@ -123,6 +123,8 @@ public class Name extends Node implements NodeWithIdentifier<Name> {
public Name setQualifier(final Name qualifier) {
notifyPropertyChange(ObservableProperty.QUALIFIER, this.qualifier, qualifier);
+ if (this.qualifier != null)
+ this.qualifier.setParentNode(null);
this.qualifier = qualifier;
setAsParentNodeOf(qualifier);
return 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 1d896e74a..f8687f6f3 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
@@ -75,6 +75,8 @@ public class NameExpr extends Expression implements NodeWithSimpleName<NameExpr>
public NameExpr setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return 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 d55809032..abc98575e 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
@@ -69,6 +69,8 @@ public final class NormalAnnotationExpr extends AnnotationExpr {
public NormalAnnotationExpr setPairs(final NodeList<MemberValuePair> pairs) {
assertNotNull(pairs);
notifyPropertyChange(ObservableProperty.PAIRS, this.pairs, pairs);
+ if (this.pairs != null)
+ this.pairs.setParentNode(null);
this.pairs = pairs;
setAsParentNodeOf(pairs);
return 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 566e44a61..48dbd87e1 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
@@ -131,6 +131,8 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
*/
public ObjectCreationExpr setAnonymousClassBody(final NodeList<BodyDeclaration<?>> anonymousClassBody) {
notifyPropertyChange(ObservableProperty.ANONYMOUS_CLASS_BODY, this.anonymousClassBody, anonymousClassBody);
+ if (this.anonymousClassBody != null)
+ this.anonymousClassBody.setParentNode(null);
this.anonymousClassBody = anonymousClassBody;
setAsParentNodeOf(anonymousClassBody);
return this;
@@ -140,6 +142,8 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
public ObjectCreationExpr setArguments(final NodeList<Expression> arguments) {
assertNotNull(arguments);
notifyPropertyChange(ObservableProperty.ARGUMENTS, this.arguments, arguments);
+ if (this.arguments != null)
+ this.arguments.setParentNode(null);
this.arguments = arguments;
setAsParentNodeOf(arguments);
return this;
@@ -154,6 +158,8 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
@Override
public ObjectCreationExpr setScope(final Expression scope) {
notifyPropertyChange(ObservableProperty.SCOPE, this.scope, scope);
+ if (this.scope != null)
+ this.scope.setParentNode(null);
this.scope = scope;
setAsParentNodeOf(scope);
return this;
@@ -163,6 +169,8 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
public ObjectCreationExpr setType(final ClassOrInterfaceType type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return this;
@@ -182,6 +190,8 @@ public final class ObjectCreationExpr extends Expression implements NodeWithType
@Override
public ObjectCreationExpr setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return 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 e6a719d6d..f61a447fb 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
@@ -67,6 +67,8 @@ public final class SingleMemberAnnotationExpr extends AnnotationExpr {
public SingleMemberAnnotationExpr setMemberValue(final Expression memberValue) {
assertNotNull(memberValue);
notifyPropertyChange(ObservableProperty.MEMBER_VALUE, this.memberValue, memberValue);
+ if (this.memberValue != null)
+ this.memberValue.setParentNode(null);
this.memberValue = memberValue;
setAsParentNodeOf(memberValue);
return 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 c24dbb71f..ff49f4f22 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
@@ -76,6 +76,8 @@ public final class SuperExpr extends Expression {
*/
public SuperExpr setClassExpr(final Expression classExpr) {
notifyPropertyChange(ObservableProperty.CLASS_EXPR, this.classExpr, classExpr);
+ if (this.classExpr != null)
+ this.classExpr.setParentNode(null);
this.classExpr = classExpr;
setAsParentNodeOf(classExpr);
return 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 8cf273761..7a380ef7d 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
@@ -70,6 +70,8 @@ public final class ThisExpr extends Expression {
public ThisExpr setClassExpr(final Expression classExpr) {
notifyPropertyChange(ObservableProperty.CLASS_EXPR, this.classExpr, classExpr);
+ if (this.classExpr != null)
+ this.classExpr.setParentNode(null);
this.classExpr = classExpr;
setAsParentNodeOf(classExpr);
return 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 4ae8e34bc..b5380e5cb 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
@@ -74,6 +74,8 @@ public class TypeExpr extends Expression implements NodeWithType<TypeExpr, Type>
public TypeExpr setType(final Type type) {
assertNotNull(type);
notifyPropertyChange(ObservableProperty.TYPE, this.type, type);
+ if (this.type != null)
+ this.type.setParentNode(null);
this.type = type;
setAsParentNodeOf(type);
return 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 c00c67d59..709104c75 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
@@ -108,6 +108,8 @@ public final class UnaryExpr extends Expression implements NodeWithExpression<Un
public UnaryExpr setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return 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 b3108ca2b..de9c5eef4 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
@@ -130,6 +130,8 @@ public final class VariableDeclarationExpr extends Expression implements NodeWit
public VariableDeclarationExpr setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return this;
@@ -147,6 +149,8 @@ public final class VariableDeclarationExpr extends Expression implements NodeWit
public VariableDeclarationExpr setVariables(final NodeList<VariableDeclarator> variables) {
assertNotNull(variables);
notifyPropertyChange(ObservableProperty.VARIABLES, this.variables, variables);
+ if (this.variables != null)
+ this.variables.setParentNode(null);
this.variables = variables;
setAsParentNodeOf(variables);
return 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 9758c06a4..03109628b 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
@@ -81,6 +81,8 @@ public final class AssertStmt extends Statement {
public AssertStmt setCheck(final Expression check) {
assertNotNull(check);
notifyPropertyChange(ObservableProperty.CHECK, this.check, check);
+ if (this.check != null)
+ this.check.setParentNode(null);
this.check = check;
setAsParentNodeOf(check);
return this;
@@ -94,6 +96,8 @@ public final class AssertStmt extends Statement {
*/
public AssertStmt setMessage(final Expression message) {
notifyPropertyChange(ObservableProperty.MESSAGE, this.message, message);
+ if (this.message != null)
+ this.message.setParentNode(null);
this.message = message;
setAsParentNodeOf(message);
return 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 ed8cafd02..905d7f026 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
@@ -71,6 +71,8 @@ public final class BlockStmt extends Statement implements NodeWithStatements<Blo
public BlockStmt setStatements(final NodeList<Statement> statements) {
assertNotNull(statements);
notifyPropertyChange(ObservableProperty.STATEMENTS, this.statements, statements);
+ if (this.statements != null)
+ this.statements.setParentNode(null);
this.statements = statements;
setAsParentNodeOf(statements);
return 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 5b45126e4..34d199e7c 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
@@ -79,6 +79,8 @@ public final class BreakStmt extends Statement {
*/
public BreakStmt setLabel(final SimpleName label) {
notifyPropertyChange(ObservableProperty.LABEL, this.label, label);
+ if (this.label != null)
+ this.label.setParentNode(null);
this.label = label;
setAsParentNodeOf(label);
return this;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/CatchClause.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/CatchClause.java
index 6acc9fef1..823ad7e9b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/CatchClause.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/CatchClause.java
@@ -89,6 +89,8 @@ public final class CatchClause extends Node implements NodeWithBlockStmt<CatchCl
public CatchClause setParameter(final Parameter parameter) {
assertNotNull(parameter);
notifyPropertyChange(ObservableProperty.PARAMETER, this.parameter, parameter);
+ if (this.parameter != null)
+ this.parameter.setParentNode(null);
this.parameter = parameter;
setAsParentNodeOf(parameter);
return this;
@@ -103,6 +105,8 @@ public final class CatchClause extends Node implements NodeWithBlockStmt<CatchCl
public CatchClause setBody(final BlockStmt body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return 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 48c4210ba..92084e463 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
@@ -83,6 +83,8 @@ public final class ContinueStmt extends Statement implements NodeWithOptionalLab
@Override
public ContinueStmt setLabel(final SimpleName label) {
notifyPropertyChange(ObservableProperty.LABEL, this.label, label);
+ if (this.label != null)
+ this.label.setParentNode(null);
this.label = label;
setAsParentNodeOf(label);
return 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 62c41972e..69e6fbda7 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
@@ -80,6 +80,8 @@ public final class DoStmt extends Statement implements NodeWithBody<DoStmt> {
public DoStmt setBody(final Statement body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
@@ -88,6 +90,8 @@ public final class DoStmt extends Statement implements NodeWithBody<DoStmt> {
public DoStmt setCondition(final Expression condition) {
assertNotNull(condition);
notifyPropertyChange(ObservableProperty.CONDITION, this.condition, condition);
+ if (this.condition != null)
+ this.condition.setParentNode(null);
this.condition = condition;
setAsParentNodeOf(condition);
return 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 c208936b4..bd4d56d9b 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
@@ -113,6 +113,8 @@ public final class ExplicitConstructorInvocationStmt extends Statement implement
public ExplicitConstructorInvocationStmt setArguments(final NodeList<Expression> arguments) {
assertNotNull(arguments);
notifyPropertyChange(ObservableProperty.ARGUMENTS, this.arguments, arguments);
+ if (this.arguments != null)
+ this.arguments.setParentNode(null);
this.arguments = arguments;
setAsParentNodeOf(arguments);
return this;
@@ -126,6 +128,8 @@ public final class ExplicitConstructorInvocationStmt extends Statement implement
*/
public ExplicitConstructorInvocationStmt setExpression(final Expression expression) {
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return this;
@@ -151,6 +155,8 @@ public final class ExplicitConstructorInvocationStmt extends Statement implement
@Override
public ExplicitConstructorInvocationStmt setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return 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 88549adce..ef63cc224 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
@@ -72,6 +72,8 @@ public final class ExpressionStmt extends Statement implements NodeWithExpressio
public ExpressionStmt setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return 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 fcbd46c01..c9d803d16 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
@@ -99,6 +99,8 @@ public final class ForStmt extends Statement implements NodeWithBody<ForStmt> {
public ForStmt setBody(final Statement body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
@@ -112,6 +114,8 @@ public final class ForStmt extends Statement implements NodeWithBody<ForStmt> {
*/
public ForStmt setCompare(final Expression compare) {
notifyPropertyChange(ObservableProperty.COMPARE, this.compare, compare);
+ if (this.compare != null)
+ this.compare.setParentNode(null);
this.compare = compare;
setAsParentNodeOf(compare);
return this;
@@ -120,6 +124,8 @@ public final class ForStmt extends Statement implements NodeWithBody<ForStmt> {
public ForStmt setInitialization(final NodeList<Expression> initialization) {
assertNotNull(initialization);
notifyPropertyChange(ObservableProperty.INITIALIZATION, this.initialization, initialization);
+ if (this.initialization != null)
+ this.initialization.setParentNode(null);
this.initialization = initialization;
setAsParentNodeOf(initialization);
return this;
@@ -128,6 +134,8 @@ public final class ForStmt extends Statement implements NodeWithBody<ForStmt> {
public ForStmt setUpdate(final NodeList<Expression> update) {
assertNotNull(update);
notifyPropertyChange(ObservableProperty.UPDATE, this.update, update);
+ if (this.update != null)
+ this.update.setParentNode(null);
this.update = update;
setAsParentNodeOf(update);
return 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 eb55820ce..1d68a2dfa 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
@@ -92,6 +92,8 @@ public final class ForeachStmt extends Statement implements NodeWithBody<Foreach
public ForeachStmt setBody(final Statement body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
@@ -100,6 +102,8 @@ public final class ForeachStmt extends Statement implements NodeWithBody<Foreach
public ForeachStmt setIterable(final Expression iterable) {
assertNotNull(iterable);
notifyPropertyChange(ObservableProperty.ITERABLE, this.iterable, iterable);
+ if (this.iterable != null)
+ this.iterable.setParentNode(null);
this.iterable = iterable;
setAsParentNodeOf(iterable);
return this;
@@ -108,6 +112,8 @@ public final class ForeachStmt extends Statement implements NodeWithBody<Foreach
public ForeachStmt setVariable(final VariableDeclarationExpr variable) {
assertNotNull(variable);
notifyPropertyChange(ObservableProperty.VARIABLE, this.variable, variable);
+ if (this.variable != null)
+ this.variable.setParentNode(null);
this.variable = variable;
setAsParentNodeOf(variable);
return 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 6ad14fd43..bb2001a9a 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
@@ -86,6 +86,8 @@ public final class IfStmt extends Statement {
public IfStmt setCondition(final Expression condition) {
assertNotNull(condition);
notifyPropertyChange(ObservableProperty.CONDITION, this.condition, condition);
+ if (this.condition != null)
+ this.condition.setParentNode(null);
this.condition = condition;
setAsParentNodeOf(condition);
return this;
@@ -99,6 +101,8 @@ public final class IfStmt extends Statement {
*/
public IfStmt setElseStmt(final Statement elseStmt) {
notifyPropertyChange(ObservableProperty.ELSE_STMT, this.elseStmt, elseStmt);
+ if (this.elseStmt != null)
+ this.elseStmt.setParentNode(null);
this.elseStmt = elseStmt;
setAsParentNodeOf(elseStmt);
return this;
@@ -107,6 +111,8 @@ public final class IfStmt extends Statement {
public IfStmt setThenStmt(final Statement thenStmt) {
assertNotNull(thenStmt);
notifyPropertyChange(ObservableProperty.THEN_STMT, this.thenStmt, thenStmt);
+ if (this.thenStmt != null)
+ this.thenStmt.setParentNode(null);
this.thenStmt = thenStmt;
setAsParentNodeOf(thenStmt);
return 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 6686bfac9..2628002fe 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
@@ -75,6 +75,8 @@ public final class LabeledStmt extends Statement {
public LabeledStmt setStatement(final Statement statement) {
assertNotNull(statement);
notifyPropertyChange(ObservableProperty.STATEMENT, this.statement, statement);
+ if (this.statement != null)
+ this.statement.setParentNode(null);
this.statement = statement;
setAsParentNodeOf(statement);
return this;
@@ -87,6 +89,8 @@ public final class LabeledStmt extends Statement {
public LabeledStmt setLabel(final SimpleName label) {
assertNotNull(label);
notifyPropertyChange(ObservableProperty.LABEL, this.label, label);
+ if (this.label != null)
+ this.label.setParentNode(null);
this.label = label;
setAsParentNodeOf(label);
return 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 509ddc1ae..8f8f5e802 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
@@ -72,6 +72,8 @@ public final class LocalClassDeclarationStmt extends Statement {
public LocalClassDeclarationStmt setClassDeclaration(final ClassOrInterfaceDeclaration classDeclaration) {
assertNotNull(classDeclaration);
notifyPropertyChange(ObservableProperty.CLASS_DECLARATION, this.classDeclaration, classDeclaration);
+ if (this.classDeclaration != null)
+ this.classDeclaration.setParentNode(null);
this.classDeclaration = classDeclaration;
setAsParentNodeOf(classDeclaration);
return 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 d0cc86c30..7fe25be03 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
@@ -81,6 +81,8 @@ public final class ReturnStmt extends Statement {
*/
public ReturnStmt setExpression(final Expression expression) {
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return this;
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 d47d86e1d..21f93713f 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
@@ -100,6 +100,8 @@ public final class SwitchEntryStmt extends Statement implements NodeWithStatemen
*/
public SwitchEntryStmt setLabel(final Expression label) {
notifyPropertyChange(ObservableProperty.LABEL, this.label, label);
+ if (this.label != null)
+ this.label.setParentNode(null);
this.label = label;
setAsParentNodeOf(label);
return this;
@@ -108,6 +110,8 @@ public final class SwitchEntryStmt extends Statement implements NodeWithStatemen
public SwitchEntryStmt setStatements(final NodeList<Statement> statements) {
assertNotNull(statements);
notifyPropertyChange(ObservableProperty.STATEMENTS, this.statements, statements);
+ if (this.statements != null)
+ this.statements.setParentNode(null);
this.statements = statements;
setAsParentNodeOf(statements);
return 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 dd481eb2c..7e1326531 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
@@ -86,6 +86,8 @@ public final class SwitchStmt extends Statement {
public SwitchStmt setEntries(final NodeList<SwitchEntryStmt> entries) {
assertNotNull(entries);
notifyPropertyChange(ObservableProperty.ENTRIES, this.entries, entries);
+ if (this.entries != null)
+ this.entries.setParentNode(null);
this.entries = entries;
setAsParentNodeOf(entries);
return this;
@@ -104,6 +106,8 @@ public final class SwitchStmt extends Statement {
public SwitchStmt setSelector(final Expression selector) {
assertNotNull(selector);
notifyPropertyChange(ObservableProperty.SELECTOR, this.selector, selector);
+ if (this.selector != null)
+ this.selector.setParentNode(null);
this.selector = selector;
setAsParentNodeOf(selector);
return 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 8ddaac077..b8ad05920 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
@@ -75,6 +75,8 @@ public final class SynchronizedStmt extends Statement implements NodeWithBlockSt
public SynchronizedStmt setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return this;
@@ -89,6 +91,8 @@ public final class SynchronizedStmt extends Statement implements NodeWithBlockSt
public SynchronizedStmt setBody(final BlockStmt body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return 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 2b2d4b83e..dda91355d 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
@@ -73,6 +73,8 @@ public final class ThrowStmt extends Statement implements NodeWithExpression<Thr
public ThrowStmt setExpression(final Expression expression) {
assertNotNull(expression);
notifyPropertyChange(ObservableProperty.EXPRESSION, this.expression, expression);
+ if (this.expression != null)
+ this.expression.setParentNode(null);
this.expression = expression;
setAsParentNodeOf(expression);
return 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 264b5da0e..4b76f7d60 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
@@ -110,6 +110,8 @@ public final class TryStmt extends Statement {
public TryStmt setCatchClauses(final NodeList<CatchClause> catchClauses) {
assertNotNull(catchClauses);
notifyPropertyChange(ObservableProperty.CATCH_CLAUSES, this.catchClauses, catchClauses);
+ if (this.catchClauses != null)
+ this.catchClauses.setParentNode(null);
this.catchClauses = catchClauses;
setAsParentNodeOf(catchClauses);
return this;
@@ -117,6 +119,8 @@ public final class TryStmt extends Statement {
public TryStmt setFinallyBlock(final BlockStmt finallyBlock) {
notifyPropertyChange(ObservableProperty.FINALLY_BLOCK, this.finallyBlock, finallyBlock);
+ if (this.finallyBlock != null)
+ this.finallyBlock.setParentNode(null);
this.finallyBlock = finallyBlock;
setAsParentNodeOf(finallyBlock);
return this;
@@ -124,6 +128,8 @@ public final class TryStmt extends Statement {
public TryStmt setTryBlock(final BlockStmt tryBlock) {
notifyPropertyChange(ObservableProperty.TRY_BLOCK, this.tryBlock, tryBlock);
+ if (this.tryBlock != null)
+ this.tryBlock.setParentNode(null);
this.tryBlock = tryBlock;
setAsParentNodeOf(tryBlock);
return this;
@@ -132,6 +138,8 @@ public final class TryStmt extends Statement {
public TryStmt setResources(final NodeList<VariableDeclarationExpr> resources) {
assertNotNull(resources);
notifyPropertyChange(ObservableProperty.RESOURCES, this.resources, resources);
+ if (this.resources != null)
+ this.resources.setParentNode(null);
this.resources = resources;
setAsParentNodeOf(resources);
return 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 ccf75ab7a..19c4febdf 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
@@ -80,6 +80,8 @@ public final class WhileStmt extends Statement implements NodeWithBody<WhileStmt
public WhileStmt setBody(final Statement body) {
assertNotNull(body);
notifyPropertyChange(ObservableProperty.BODY, this.body, body);
+ if (this.body != null)
+ this.body.setParentNode(null);
this.body = body;
setAsParentNodeOf(body);
return this;
@@ -88,6 +90,8 @@ public final class WhileStmt extends Statement implements NodeWithBody<WhileStmt
public WhileStmt setCondition(final Expression condition) {
assertNotNull(condition);
notifyPropertyChange(ObservableProperty.CONDITION, this.condition, condition);
+ if (this.condition != null)
+ this.condition.setParentNode(null);
this.condition = condition;
setAsParentNodeOf(condition);
return 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 77b66f1c7..b21ea5be7 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
@@ -76,6 +76,8 @@ public class ArrayType extends ReferenceType implements NodeWithAnnotations<Arra
public ArrayType setComponentType(final Type componentType) {
assertNotNull(componentType);
notifyPropertyChange(ObservableProperty.COMPONENT_TYPE, this.componentType, componentType);
+ if (this.componentType != null)
+ this.componentType.setParentNode(null);
this.componentType = componentType;
setAsParentNodeOf(componentType);
return 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 e882ae2e7..c7d2e3141 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
@@ -114,6 +114,8 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit
public ClassOrInterfaceType setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -127,6 +129,8 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit
*/
public ClassOrInterfaceType setScope(final ClassOrInterfaceType scope) {
notifyPropertyChange(ObservableProperty.SCOPE, this.scope, scope);
+ if (this.scope != null)
+ this.scope.setParentNode(null);
this.scope = scope;
setAsParentNodeOf(scope);
return this;
@@ -146,6 +150,8 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit
@Override
public ClassOrInterfaceType setTypeArguments(final NodeList<Type> typeArguments) {
notifyPropertyChange(ObservableProperty.TYPE_ARGUMENTS, this.typeArguments, typeArguments);
+ if (this.typeArguments != null)
+ this.typeArguments.setParentNode(null);
this.typeArguments = typeArguments;
setAsParentNodeOf(typeArguments);
return 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 a04fcef5c..a6b3198b5 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
@@ -75,6 +75,8 @@ public class IntersectionType extends Type implements NodeWithAnnotations<Inters
public IntersectionType setElements(final NodeList<ReferenceType> elements) {
assertNotNull(elements);
notifyPropertyChange(ObservableProperty.ELEMENTS, this.elements, elements);
+ if (this.elements != null)
+ this.elements.setParentNode(null);
this.elements = elements;
setAsParentNodeOf(elements);
return 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 5963421ea..639677511 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
@@ -52,6 +52,8 @@ public abstract class Type extends Node {
public Type setAnnotations(final NodeList<AnnotationExpr> annotations) {
assertNotNull(annotations);
notifyPropertyChange(ObservableProperty.ANNOTATIONS, this.annotations, annotations);
+ if (this.annotations != null)
+ this.annotations.setParentNode(null);
this.annotations = annotations;
setAsParentNodeOf(annotations);
return this;
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 cbbe78f7b..91764d27c 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
@@ -114,6 +114,8 @@ public final class TypeParameter extends ReferenceType<TypeParameter> implements
public TypeParameter setName(final SimpleName name) {
assertNotNull(name);
notifyPropertyChange(ObservableProperty.NAME, this.name, name);
+ if (this.name != null)
+ this.name.setParentNode(null);
this.name = name;
setAsParentNodeOf(name);
return this;
@@ -122,6 +124,8 @@ public final class TypeParameter extends ReferenceType<TypeParameter> implements
public TypeParameter setTypeBound(final NodeList<ClassOrInterfaceType> typeBound) {
assertNotNull(typeBound);
notifyPropertyChange(ObservableProperty.TYPE_BOUND, this.typeBound, typeBound);
+ if (this.typeBound != null)
+ this.typeBound.setParentNode(null);
this.typeBound = typeBound;
setAsParentNodeOf(typeBound);
return 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 d6b152ab6..4df9317ca 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
@@ -63,6 +63,8 @@ public class UnionType extends Type implements NodeWithAnnotations<UnionType> {
public UnionType setElements(final NodeList<ReferenceType> elements) {
assertNotNull(elements);
notifyPropertyChange(ObservableProperty.ELEMENTS, this.elements, elements);
+ if (this.elements != null)
+ this.elements.setParentNode(null);
this.elements = elements;
setAsParentNodeOf(elements);
return 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 123f49c01..f6d4d2b6c 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
@@ -91,6 +91,8 @@ public final class WildcardType extends Type implements NodeWithAnnotations<Wild
*/
public WildcardType setExtendedTypes(final ReferenceType extendedTypes) {
notifyPropertyChange(ObservableProperty.EXTENDED_TYPES, this.extendedTypes, extendedTypes);
+ if (this.extendedTypes != null)
+ this.extendedTypes.setParentNode(null);
this.extendedTypes = extendedTypes;
setAsParentNodeOf(extendedTypes);
return this;
@@ -104,6 +106,8 @@ public final class WildcardType extends Type implements NodeWithAnnotations<Wild
*/
public WildcardType setSuperTypes(final ReferenceType superTypes) {
notifyPropertyChange(ObservableProperty.SUPER_TYPES, this.superTypes, superTypes);
+ if (this.superTypes != null)
+ this.superTypes.setParentNode(null);
this.superTypes = superTypes;
setAsParentNodeOf(superTypes);
return this;