diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-11-05 00:54:02 +0100 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-11-05 00:54:02 +0100 |
commit | 2740e3bf6d224a138ea284fed10874ed75a211db (patch) | |
tree | 982491b610ea25c19b37209bc3eb8245fa5db49e /javaparser-core-generators | |
parent | 4192f687beb4b5feff069cae78117ca1e83fc870 (diff) | |
download | platform_external_javaparser-2740e3bf6d224a138ea284fed10874ed75a211db.tar.gz platform_external_javaparser-2740e3bf6d224a138ea284fed10874ed75a211db.tar.bz2 platform_external_javaparser-2740e3bf6d224a138ea284fed10874ed75a211db.zip |
Move @Generated creation
Diffstat (limited to 'javaparser-core-generators')
11 files changed, 9 insertions, 26 deletions
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java index c3c98f27d..832568595 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java @@ -23,15 +23,15 @@ public abstract class Generator { public abstract void generate() throws Exception; - protected <T extends Node & NodeWithAnnotations<T>> void annotateGenerated(T node) { + protected <T extends Node & NodeWithAnnotations<? extends T>> void annotateGenerated(T node) { annotate(node, Generated.class, new StringLiteralExpr(getClass().getName())); } - protected <T extends Node & NodeWithAnnotations<T>> void annotateSuppressWarnings(T node) { + protected <T extends Node & NodeWithAnnotations<? extends T>> void annotateSuppressWarnings(T node) { annotate(node, SuppressWarnings.class, new StringLiteralExpr("unchecked")); } - private <T extends Node & NodeWithAnnotations<T>> void annotate(T node, Class<?> annotation, Expression content) { + private <T extends Node & NodeWithAnnotations<? extends T>> void annotate(T node, Class<?> annotation, Expression content) { node.setAnnotations( node.getAnnotations().stream() .filter(a -> !a.getNameAsString().equals(annotation.getSimpleName())) diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java index 4cf03e272..01840316b 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java @@ -37,7 +37,7 @@ public abstract class NodeGenerator extends Generator { ClassOrInterfaceDeclaration nodeCoid = nodeCu.getClassByName(nodeMetaModel.getTypeName()).orElseThrow(() -> new IOException("Can't find class")); return new Pair<>(nodeCu, nodeCoid); } - + protected void after() throws Exception { } @@ -54,7 +54,8 @@ public abstract class NodeGenerator extends Generator { /** * Utility method that looks for a method or constructor with an identical signature as "callable" and replaces it - * with callable. If not found, fails. When the new callable has no javadoc, any old javadoc will be kept. + * with callable. If not found, fails. When the new callable has no javadoc, any old javadoc will be kept. The + * method or constructor is annotated with the generator class. */ protected void replaceWhenSameSignature(ClassOrInterfaceDeclaration containingClassOrInterface, CallableDeclaration<?> callable) { addMethod(containingClassOrInterface, callable, @@ -77,11 +78,13 @@ public abstract class NodeGenerator extends Generator { } final CallableDeclaration<?> existingCallable = existingCallables.get(0); callable.setJavadocComment(callable.getJavadocComment().orElse(existingCallable.getJavadocComment().orElse(null))); + annotateGenerated(callable); containingClassOrInterface.getMembers().replace(existingCallable, callable); } /** - * Removes all methods from containingClassOrInterface that have the same signature as callable. + * Removes all methods from containingClassOrInterface that have the same signature as callable. This is not used by + * any code, but it is useful when changing a generator and you need to get rid of a set of outdated methods. */ protected void removeMethodWithSameSignature(ClassOrInterfaceDeclaration containingClassOrInterface, CallableDeclaration<?> callable) { for (CallableDeclaration<?> existingCallable : containingClassOrInterface.getCallablesWithSignature(callable.getSignature())) { diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java index 8d4ab7cce..16b5ef4f8 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java @@ -64,7 +64,6 @@ public abstract class VisitorGenerator extends Generator { if (existingVisitMethod.isPresent()) { generateVisitMethodBody(node, existingVisitMethod.get(), compilationUnit); - annotateGenerated(existingVisitMethod.get()); } else if (createMissingVisitMethods) { MethodDeclaration newVisitMethod = visitorClass.addMethod("visit") .addParameter(node.getTypeNameGenerified(), "n") @@ -76,7 +75,6 @@ public abstract class VisitorGenerator extends Generator { .addModifier(PUBLIC); } generateVisitMethodBody(node, newVisitMethod, compilationUnit); - annotateGenerated(newVisitMethod); } } diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java index b13ac60cc..9ab2bf32e 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java @@ -29,8 +29,6 @@ public class AcceptGenerator extends NodeGenerator { nodeCu.addImport(GenericVisitor.class); nodeCu.addImport(VoidVisitor.class); addOrReplaceWhenSameSignature(nodeCoid, genericAccept); - annotateGenerated(genericAccept); addOrReplaceWhenSameSignature(nodeCoid, voidAccept); - annotateGenerated(voidAccept); } } 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 9fb31ecdb..6a788b47b 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,5 @@ public class CloneGenerator extends NodeGenerator { nodeMetaModel.getTypeNameGenerified() )); addOrReplaceWhenSameSignature(nodeCoid, 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 333410725..750c52b0c 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 @@ -26,6 +26,5 @@ public class GetMetaModelGenerator extends NodeGenerator { addOrReplaceWhenSameSignature(nodeCoid, getMetaModelMethod); nodeCu.addImport(nodeMetaModel.getClass().getName()); nodeCu.addImport(JavaParserMetaModel.class); - annotateGenerated(getMetaModelMethod); } } 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 3d3d24064..8f7158924 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 @@ -50,6 +50,5 @@ public class MainConstructorGenerator extends NodeGenerator { addOrReplaceWhenSameSignature(nodeCoid, constructor); nodeCu.addImport(TokenRange.class); - 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 cf0a13177..9ac69edc9 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 @@ -87,7 +87,6 @@ public class PropertyGenerator extends NodeGenerator { if (property.getContainingNodeMetaModel().hasWildcard()) { annotateSuppressWarnings(setter); } - annotateGenerated(setter); } private void generateGetter(BaseNodeMetaModel nodeMetaModel, ClassOrInterfaceDeclaration nodeCoid, PropertyMetaModel property) { @@ -100,7 +99,6 @@ public class PropertyGenerator extends NodeGenerator { body.addStatement(f("return %s;", property.getName())); } replaceWhenSameSignature(nodeCoid, getter); - annotateGenerated(getter); } private void generateObservableProperty(EnumDeclaration observablePropertyEnum, PropertyMetaModel property, boolean derived) { @@ -143,6 +141,5 @@ public class PropertyGenerator extends NodeGenerator { } observablePropertyEnum.addEnumConstant("RANGE"); observablePropertyEnum.addEnumConstant("COMMENTED_NODE"); - annotateGenerated(observablePropertyEnum); } } diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java index 529ca9402..64d5898b1 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java @@ -56,7 +56,6 @@ public class RemoveMethodGenerator extends NodeGenerator { } addOrReplaceWhenSameSignature(nodeCoid, removeNodeMethod); - annotateGenerated(removeNodeMethod); } private String attributeCheck(PropertyMetaModel property, String removeAttributeMethodName) { @@ -83,7 +82,6 @@ public class RemoveMethodGenerator extends NodeGenerator { block.addStatement(f("return %s((%s) null);", property.getSetterMethodName(), property.getTypeNameForSetter())); addOrReplaceWhenSameSignature(nodeCoid, removeMethod); - annotateGenerated(removeMethod); return methodName; } } diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java index 19ee26f7b..f1f9d3fce 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java @@ -51,7 +51,6 @@ public class ReplaceMethodGenerator extends NodeGenerator { } addOrReplaceWhenSameSignature(nodeCoid, replaceNodeMethod); - annotateGenerated(replaceNodeMethod); } private String attributeCheck(PropertyMetaModel property, String attributeSetterName) { diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java index 248c8cb81..c44573a0f 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java @@ -64,8 +64,6 @@ public class TypeCastingGenerator extends NodeGenerator { final MethodDeclaration asTypeNodeMethod = (MethodDeclaration) parseBodyDeclaration(f("@Override public %s as%s() { return this; }", typeName, typeName)); addOrReplaceWhenSameSignature(baseCoid, asTypeBaseMethod); addOrReplaceWhenSameSignature(nodeCoid, asTypeNodeMethod); - annotateGenerated(asTypeNodeMethod); - annotateGenerated(asTypeBaseMethod); baseCu.addImport("com.github.javaparser.utils.CodeGenerationUtils.f", true, false); } @@ -75,8 +73,6 @@ public class TypeCastingGenerator extends NodeGenerator { final MethodDeclaration ifTypeNodeMethod = (MethodDeclaration) parseBodyDeclaration(f("public void if%s(Consumer<%s> action) { action.accept(this); }", typeName, typeName)); addOrReplaceWhenSameSignature(baseCoid, ifTypeBaseMethod); addOrReplaceWhenSameSignature(nodeCoid, ifTypeNodeMethod); - annotateGenerated(ifTypeNodeMethod); - annotateGenerated(ifTypeBaseMethod); baseCu.addImport(Consumer.class); nodeCu.addImport(Consumer.class); @@ -88,8 +84,5 @@ public class TypeCastingGenerator extends NodeGenerator { addOrReplaceWhenSameSignature(nodeCoid, overriddenIsTypeMethod); addOrReplaceWhenSameSignature(baseCoid, baseIsTypeMethod); - - annotateGenerated(overriddenIsTypeMethod); - annotateGenerated(baseIsTypeMethod); } } |