diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-07-25 22:07:31 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-07-25 22:13:41 +0200 |
commit | 141963f6703b0c9d60b7d9bf59ded934dd5e6faf (patch) | |
tree | 937e2139fa840221dc8e4adbd1833ac5e44d3810 /javaparser-core-generators/src/main/java/com/github/javaparser | |
parent | e1dd274bd3e9e2b09b50462ae7a68a2cc61aa4c0 (diff) | |
download | javaparser-141963f6703b0c9d60b7d9bf59ded934dd5e6faf.tar.gz |
Fix broken replace implementation
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/core/node/ReplaceMethodGenerator.java | 22 |
1 files changed, 3 insertions, 19 deletions
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 9ef9b1d26..19ee26f7b 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 @@ -37,11 +37,7 @@ public class ReplaceMethodGenerator extends NodeGenerator { if (property.isNodeList()) { check = nodeListCheck(property); } else { - if (property.isRequired()) { - continue; - } - String replaceAttributeMethodName = generateReplaceMethodForAttribute(nodeCoid, nodeMetaModel, property); - check = attributeCheck(property, replaceAttributeMethodName); + check = attributeCheck(property, property.getSetterMethodName()); } if (property.isOptional()) { check = f("if (%s != null) { %s }", property.getName(), check); @@ -58,11 +54,11 @@ public class ReplaceMethodGenerator extends NodeGenerator { annotateGenerated(replaceNodeMethod); } - private String attributeCheck(PropertyMetaModel property, String replaceAttributeMethodName) { + private String attributeCheck(PropertyMetaModel property, String attributeSetterName) { return f("if (node == %s) {" + " %s((%s) replacementNode);" + " return true;\n" + - "}", property.getName(), replaceAttributeMethodName, property.getTypeName()); + "}", property.getName(), attributeSetterName, property.getTypeName()); } private String nodeListCheck(PropertyMetaModel property) { @@ -73,16 +69,4 @@ public class ReplaceMethodGenerator extends NodeGenerator { " }" + "}", property.getName(), property.getName(), property.getName(), property.getTypeName()); } - - private String generateReplaceMethodForAttribute(ClassOrInterfaceDeclaration nodeCoid, BaseNodeMetaModel nodeMetaModel, PropertyMetaModel property) { - final String methodName = "replace" + capitalize(property.getName()); - final MethodDeclaration replaceMethod = (MethodDeclaration) parseBodyDeclaration(f("public %s %s(%s replacement) {}", nodeMetaModel.getTypeName(), methodName, property.getTypeName())); - - final BlockStmt block = replaceMethod.getBody().get(); - block.addStatement(f("return %s((%s) replacement);", property.getSetterMethodName(), property.getTypeNameForSetter())); - - addOrReplaceWhenSameSignature(nodeCoid, replaceMethod); - annotateGenerated(replaceMethod); - return methodName; - } } |