diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 02:41:07 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 02:41:07 +0200 |
commit | e4610d5f3acd6d03bf51e8c70584a065d3233387 (patch) | |
tree | f182407461f101baaa238d73fd71ebb3a2fe83fa /javaparser-core-generators/src/main/java/com/github/javaparser/generator/core | |
parent | 38362bb84bc612ef0a17ef403ecfb927eb9cf471 (diff) | |
download | javaparser-e4610d5f3acd6d03bf51e8c70584a065d3233387.tar.gz |
Mark setters generated
Diffstat (limited to 'javaparser-core-generators/src/main/java/com/github/javaparser/generator/core')
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); } } |