aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-04-23 02:41:07 +0200
committerDanny van Bruggen <hexagonaal@gmail.com>2017-04-23 02:41:07 +0200
commite4610d5f3acd6d03bf51e8c70584a065d3233387 (patch)
treef182407461f101baaa238d73fd71ebb3a2fe83fa /javaparser-core-generators/src/main/java/com/github/javaparser/generator/core
parent38362bb84bc612ef0a17ef403ecfb927eb9cf471 (diff)
downloadjavaparser-e4610d5f3acd6d03bf51e8c70584a065d3233387.tar.gz
Mark setters generated
Diffstat (limited to 'javaparser-core-generators/src/main/java/com/github/javaparser/generator/core')
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java5
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetNodeListsGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java4
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java33
5 files changed, 23 insertions, 23 deletions
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
index 505d70ed0..0cfe52947 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
@@ -25,6 +25,6 @@ public class CloneGenerator extends NodeGenerator {
nodeMetaModel.getTypeNameGenerified()
));
addOrReplaceWhenSameSignature(nodeCoid, cloneMethod);
- markGenerated(cloneMethod);
+ annotateGenerated(cloneMethod);
}
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
index 48ab86b1a..8e16899b5 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
@@ -1,9 +1,6 @@
package com.github.javaparser.generator.core.node;
-import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
-import com.github.javaparser.ast.Node;
-import com.github.javaparser.ast.body.BodyDeclaration;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.generator.NodeGenerator;
@@ -29,6 +26,6 @@ public class GetMetaModelGenerator extends NodeGenerator {
addOrReplaceWhenSameSignature(nodeCoid, getMetaModelMethod);
nodeCu.addImport(nodeMetaModel.getClass().getName());
nodeCu.addImport(JavaParserMetaModel.class);
- markGenerated(getMetaModelMethod);
+ annotateGenerated(getMetaModelMethod);
}
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetNodeListsGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetNodeListsGenerator.java
index 85550ce99..dad26234f 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetNodeListsGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetNodeListsGenerator.java
@@ -40,6 +40,6 @@ public class GetNodeListsGenerator extends NodeGenerator {
final MethodDeclaration getNodeListsMethod = (MethodDeclaration) parseClassBodyDeclaration(f("@Override public List<NodeList<?>> getNodeLists() {%s}", statement));
addOrReplaceWhenSameSignature(nodeCoid, getNodeListsMethod);
- markGenerated(getNodeListsMethod);
+ annotateGenerated(getNodeListsMethod);
}
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
index 6292c1fdc..d8d4775b7 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
@@ -3,7 +3,6 @@ package com.github.javaparser.generator.core.node;
import com.github.javaparser.Range;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.Node;
-import com.github.javaparser.ast.body.CallableDeclaration;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.ConstructorDeclaration;
import com.github.javaparser.ast.stmt.BlockStmt;
@@ -14,7 +13,6 @@ import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot;
import static com.github.javaparser.JavaParser.parseExplicitConstructorInvocationStmt;
-import static com.github.javaparser.JavaParser.parseStatement;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
public class MainConstructorGenerator extends NodeGenerator {
@@ -52,6 +50,6 @@ public class MainConstructorGenerator extends NodeGenerator {
replaceWhenSameSignature(nodeCoid, constructor);
nodeCu.addImport(Range.class);
- markGenerated(constructor);
+ annotateGenerated(constructor);
}
}
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 08a24d3fd..1074228c5 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
@@ -1,6 +1,5 @@
package com.github.javaparser.generator.core.node;
-import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
@@ -9,14 +8,16 @@ import com.github.javaparser.ast.body.EnumDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.generator.NodeGenerator;
-import com.github.javaparser.utils.SourceRoot;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.PropertyMetaModel;
+import com.github.javaparser.utils.SourceRoot;
import java.util.*;
+import static com.github.javaparser.JavaParser.parseType;
import static com.github.javaparser.ast.Modifier.FINAL;
+import static com.github.javaparser.ast.Modifier.PUBLIC;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.camelCaseToScreaming;
@@ -39,25 +40,24 @@ public class PropertyGenerator extends NodeGenerator {
}
private void generateSetter(BaseNodeMetaModel nodeMetaModel, ClassOrInterfaceDeclaration nodeCoid, PropertyMetaModel property) {
- final List<MethodDeclaration> setters = nodeCoid.getMethodsBySignature(property.getSetterMethodName(), property.getTypeNameForSetter());
final String name = property.getName();
- if (setters.size() != 1) {
- throw new AssertionError(f("Not exactly one setter exists: %s.%s = %s", nodeMetaModel.getTypeName(), name, setters.size()));
- }
- // Fix parameter name
- final MethodDeclaration setter = setters.get(0);
- setter.getParameters().clear();
- setter.addAndGetParameter(property.getTypeNameForSetter(), property.getName())
- .addModifier(FINAL);
-
// Fill body
final String observableName = camelCaseToScreaming(name.startsWith("is") ? name.substring(2) : name);
declaredProperties.put(observableName, property);
+
if (property == JavaParserMetaModel.nodeMetaModel.commentPropertyMetaModel) {
// Node.comment has a very specific setter that we shouldn't overwrite.
return;
}
+ final MethodDeclaration setter = new MethodDeclaration(EnumSet.of(PUBLIC), parseType(property.getContainingNodeMetaModel().getTypeNameGenerified()), property.getSetterMethodName());
+ if (property.getContainingNodeMetaModel().hasWildcard()) {
+ setter.setType(parseType("T"));
+ }
+ setter.getParameters().clear();
+ setter.addAndGetParameter(property.getTypeNameForSetter(), property.getName())
+ .addModifier(FINAL);
+
final BlockStmt body = setter.getBody().get();
body.getStatements().clear();
@@ -84,6 +84,11 @@ public class PropertyGenerator extends NodeGenerator {
} else {
body.addStatement(f("return this;"));
}
+ replaceWhenSameSignature(nodeCoid, setter);
+ if (property.getContainingNodeMetaModel().hasWildcard()) {
+ annotateSuppressWarnings(setter);
+ }
+ annotateGenerated(setter);
}
private void generateGetter(BaseNodeMetaModel nodeMetaModel, ClassOrInterfaceDeclaration nodeCoid, PropertyMetaModel property) {
@@ -100,7 +105,7 @@ public class PropertyGenerator extends NodeGenerator {
}
}
- private void generateObservableProperty(EnumDeclaration observablePropertyEnum, PropertyMetaModel property, boolean derived){
+ private void generateObservableProperty(EnumDeclaration observablePropertyEnum, PropertyMetaModel property, boolean derived) {
boolean isAttribute = !Node.class.isAssignableFrom(property.getType());
String name = property.getName();
String constantName = camelCaseToScreaming(name.startsWith("is") ? name.substring(2) : name);
@@ -140,6 +145,6 @@ public class PropertyGenerator extends NodeGenerator {
}
observablePropertyEnum.addEnumConstant("RANGE");
observablePropertyEnum.addEnumConstant("COMMENTED_NODE");
- markGenerated(observablePropertyEnum);
+ annotateGenerated(observablePropertyEnum);
}
}