aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core-generators/src/main/java/com/github/javaparser
diff options
context:
space:
mode:
authorFederico Tomassetti <federico@tomassetti.me>2017-03-29 17:41:16 +0200
committerFederico Tomassetti <federico@tomassetti.me>2017-03-29 17:51:28 +0200
commit7b506516fd36e21c935fb207285f316e6d991e87 (patch)
treeb3457ce1a90aa788b11824c91f2dd46ff12a0f83 /javaparser-core-generators/src/main/java/com/github/javaparser
parent9bdb491f977594ba949ce338b1ce5d1e2784db70 (diff)
downloadjavaparser-7b506516fd36e21c935fb207285f316e6d991e87.tar.gz
issue878: add a check in all setters
Diffstat (limited to 'javaparser-core-generators/src/main/java/com/github/javaparser')
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
index 6f139556b..4ceb6d7b1 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
@@ -60,6 +60,7 @@ public class PropertyGenerator extends NodeGenerator {
final BlockStmt body = setter.getBody().get();
body.getStatements().clear();
+
if (property.isRequired()) {
Class<?> type = property.getType();
if (property.isNonEmpty() && property.isSingular()) {
@@ -68,6 +69,8 @@ public class PropertyGenerator extends NodeGenerator {
body.addStatement(f("assertNotNull(%s);", name));
}
}
+ body.addStatement(f("if (%s == this.%s) { return (%s) this; }", name, name, setter.getType()));
+
body.addStatement(f("notifyPropertyChange(ObservableProperty.%s, this.%s, %s);", observableName, name, name));
if (property.isNode()) {
body.addStatement(f("if (this.%s != null) this.%s.setParentNode(null);", name, name));