diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-01-31 19:42:51 +0100 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-01-31 19:42:51 +0100 |
commit | 0831b41f9ef0d7413dd740048c5c10e4c3abd0a3 (patch) | |
tree | bfb9315cb4ebe95ec9ce7f2b5b5d67aaedb27a42 /javaparser-core/src | |
parent | cf1b018252cea5ecdc2610f47956c660015ff552 (diff) | |
download | javaparser-0831b41f9ef0d7413dd740048c5c10e4c3abd0a3.tar.gz |
Improve parent node handling when overwriting nodes
Diffstat (limited to 'javaparser-core/src')
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; |