diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 00:36:40 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-23 00:36:40 +0200 |
commit | d72a0255a3242f49bf70c228533df9ea979f2b03 (patch) | |
tree | bc05d0af4bc7c915521b30794fd05f6f8b1725b7 /javaparser-core-generators/src/main/java/com/github/javaparser | |
parent | 4e845ed7ad59e4d904f164bc161d6afc1db0255b (diff) | |
download | javaparser-d72a0255a3242f49bf70c228533df9ea979f2b03.tar.gz |
Mark all generated visitor methods generated
Diffstat (limited to 'javaparser-core-generators/src/main/java/com/github/javaparser')
-rw-r--r-- | javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java | 14 |
1 files changed, 8 insertions, 6 deletions
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 67de9ad80..999c737dd 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 @@ -58,24 +58,26 @@ public abstract class VisitorGenerator extends Generator { } private void generateVisitMethodForNode(BaseNodeMetaModel node, ClassOrInterfaceDeclaration visitorClass, CompilationUnit compilationUnit) { - Optional<MethodDeclaration> visitMethod = visitorClass.getMethods().stream() + final Optional<MethodDeclaration> existingVisitMethod = visitorClass.getMethods().stream() .filter(m -> m.getNameAsString().equals("visit")) .filter(m -> m.getParameter(0).getType().toString().equals(node.getTypeName())) .findFirst(); - if (visitMethod.isPresent()) { - generateVisitMethodBody(node, visitMethod.get(), compilationUnit); + if (existingVisitMethod.isPresent()) { + generateVisitMethodBody(node, existingVisitMethod.get(), compilationUnit); + markGenerated(existingVisitMethod.get()); } else if (createMissingVisitMethods) { - MethodDeclaration methodDeclaration = visitorClass.addMethod("visit") + MethodDeclaration newVisitMethod = visitorClass.addMethod("visit") .addParameter(node.getTypeNameGenerified(), "n") .addParameter(argumentType, "arg") .setType(returnType); if (!visitorClass.isInterface()) { - methodDeclaration + newVisitMethod .addAnnotation(new MarkerAnnotationExpr(new Name("Override"))) .addModifier(PUBLIC); } - generateVisitMethodBody(node, methodDeclaration, compilationUnit); + generateVisitMethodBody(node, newVisitMethod, compilationUnit); + markGenerated(newVisitMethod); } } |