diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-09-11 22:12:11 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-09-11 22:12:11 +0200 |
commit | 20b60b36745b48f392abeab18d7ecb612b05c43d (patch) | |
tree | 5de19eacc7a0d20c4735c12cb93af9ff36b9b7b3 /javaparser-core-generators/src/main/java | |
parent | 2a3d1f71596e9542ac0e020dba593b99ed6585df (diff) | |
download | javaparser-20b60b36745b48f392abeab18d7ecb612b05c43d.tar.gz |
Delete getNodeLists and replace it with a meta model operation
Diffstat (limited to 'javaparser-core-generators/src/main/java')
2 files changed, 11 insertions, 2 deletions
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 e286c7ab8..81437ea34 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 @@ -56,7 +56,7 @@ public abstract class NodeGenerator extends Generator { throw new AssertionError(f("Wanted to regenerate a method with signature %s in %s, but it wasn't there.", callable.getSignature(), containingClassOrInterface.getNameAsString())); }); } - + private void addMethod( ClassOrInterfaceDeclaration containingClassOrInterface, CallableDeclaration<?> callable, @@ -73,4 +73,13 @@ public abstract class NodeGenerator extends Generator { callable.setJavadocComment(callable.getJavadocComment().orElse(existingCallable.getJavadocComment().orElse(null))); containingClassOrInterface.getMembers().replace(existingCallable, callable); } + + /** + * Removes all methods from containingClassOrInterface that have the same signature as callable. + */ + protected void removeMethodWithSameSignature(ClassOrInterfaceDeclaration containingClassOrInterface, CallableDeclaration<?> callable) { + for (CallableDeclaration<?> existingCallable : containingClassOrInterface.getCallablesWithSignature(callable.getSignature())) { + containingClassOrInterface.remove(existingCallable); + } + } } 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 995220d36..9c71993a8 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 @@ -39,7 +39,7 @@ public class GetNodeListsGenerator extends NodeGenerator { } final MethodDeclaration getNodeListsMethod = (MethodDeclaration) parseBodyDeclaration(f("@Override public List<NodeList<?>> getNodeLists() {%s}", statement)); - addOrReplaceWhenSameSignature(nodeCoid, getNodeListsMethod); + removeMethodWithSameSignature(nodeCoid, getNodeListsMethod); annotateGenerated(getNodeListsMethod); } } |