diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 00:40:44 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 00:40:44 +0200 |
commit | 2769f2497af191da82e8718bfd0db65d64813e61 (patch) | |
tree | 4d3476a5c1ec51ce91e56e695b07f81f9e107544 /javaparser-core-generators/src/main/java | |
parent | d72a0255a3242f49bf70c228533df9ea979f2b03 (diff) | |
download | javaparser-2769f2497af191da82e8718bfd0db65d64813e61.tar.gz |
Mark all generated clone methods generated
Diffstat (limited to 'javaparser-core-generators/src/main/java')
-rw-r--r-- | javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java | 13 |
1 files changed, 6 insertions, 7 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 e8026ce48..505d70ed0 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 @@ -1,13 +1,12 @@ 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; +import com.github.javaparser.ast.body.MethodDeclaration; import com.github.javaparser.ast.visitor.CloneVisitor; import com.github.javaparser.generator.NodeGenerator; -import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.metamodel.BaseNodeMetaModel; +import com.github.javaparser.utils.SourceRoot; import static com.github.javaparser.JavaParser.parseClassBodyDeclaration; import static com.github.javaparser.utils.CodeGenerationUtils.f; @@ -19,13 +18,13 @@ public class CloneGenerator extends NodeGenerator { @Override protected void generateNode(BaseNodeMetaModel nodeMetaModel, CompilationUnit nodeCu, ClassOrInterfaceDeclaration nodeCoid) { - nodeCoid.getMethodsByName("clone").forEach(Node::remove); - nodeCu.addImport(CloneVisitor.class); - nodeCoid.addMember(parseClassBodyDeclaration(f( + MethodDeclaration cloneMethod = (MethodDeclaration) parseClassBodyDeclaration(f( "@Override public %s clone() { return (%s) accept(new CloneVisitor(), null); }", nodeMetaModel.getTypeNameGenerified(), nodeMetaModel.getTypeNameGenerified() - ))); + )); + addOrReplaceWhenSameSignature(nodeCoid, cloneMethod); + markGenerated(cloneMethod); } } |