diff options
author | Danny van Bruggen <danny.van.bruggen@kvk.nl> | 2017-02-01 15:01:32 +0100 |
---|---|---|
committer | Danny van Bruggen <danny.van.bruggen@kvk.nl> | 2017-02-01 15:01:32 +0100 |
commit | e6998664bf8fd093ec35d8921f18d6540ba77665 (patch) | |
tree | f3045437b973eab5b5e25504855bd3aa958c6f8d | |
parent | c42cb672c6b4843fec70f193e73676f93d31e547 (diff) | |
download | platform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.tar.gz platform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.tar.bz2 platform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.zip |
Remove superfluous parenting
13 files changed, 25 insertions, 31 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java b/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java index dc5d8ffc3..fb811088b 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java @@ -277,7 +277,6 @@ public final class CompilationUnit extends Node { return this; else { getImports().add(importDeclaration); - importDeclaration.setParentNode(this); return this; } } @@ -302,7 +301,6 @@ public final class CompilationUnit extends Node { public ClassOrInterfaceDeclaration addClass(String name, Modifier... modifiers) { ClassOrInterfaceDeclaration classOrInterfaceDeclaration = new ClassOrInterfaceDeclaration(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))), false, name); getTypes().add(classOrInterfaceDeclaration); - classOrInterfaceDeclaration.setParentNode(this); return classOrInterfaceDeclaration; } @@ -326,7 +324,6 @@ public final class CompilationUnit extends Node { public ClassOrInterfaceDeclaration addInterface(String name, Modifier... modifiers) { ClassOrInterfaceDeclaration classOrInterfaceDeclaration = new ClassOrInterfaceDeclaration(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))), true, name); getTypes().add(classOrInterfaceDeclaration); - classOrInterfaceDeclaration.setParentNode(this); return classOrInterfaceDeclaration; } @@ -350,7 +347,6 @@ public final class CompilationUnit extends Node { public EnumDeclaration addEnum(String name, Modifier... modifiers) { EnumDeclaration enumDeclaration = new EnumDeclaration(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))), name); getTypes().add(enumDeclaration); - enumDeclaration.setParentNode(this); return enumDeclaration; } @@ -374,7 +370,6 @@ public final class CompilationUnit extends Node { public AnnotationDeclaration addAnnotationDeclaration(String name, Modifier... modifiers) { AnnotationDeclaration annotationDeclaration = new AnnotationDeclaration(Arrays.stream(modifiers).collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))), name); getTypes().add(annotationDeclaration); - annotationDeclaration.setParentNode(this); return annotationDeclaration; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java index 6f6d4c9b6..7a6f4fc78 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java @@ -120,7 +120,6 @@ public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> impl assertNonEmpty(name); EnumConstantDeclaration enumConstant = new EnumConstantDeclaration(name); getEntries().add(enumConstant); - enumConstant.setParentNode(this); return enumConstant; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java index a466a46cd..469ceaf09 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java @@ -90,7 +90,6 @@ public final class NormalAnnotationExpr extends AnnotationExpr { public NormalAnnotationExpr addPair(String key, NameExpr value) { MemberValuePair memberValuePair = new MemberValuePair(key, value); getPairs().add(memberValuePair); - memberValuePair.setParentNode(this); return this; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithAnnotations.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithAnnotations.java index a8c414303..9572d9213 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithAnnotations.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithAnnotations.java @@ -66,7 +66,6 @@ public interface NodeWithAnnotations<N extends Node> { NormalAnnotationExpr normalAnnotationExpr = new NormalAnnotationExpr( Name.parse(name), new NodeList<>()); getAnnotations().add(normalAnnotationExpr); - normalAnnotationExpr.setParentNode((Node) this); return normalAnnotationExpr; } @@ -92,7 +91,6 @@ public interface NodeWithAnnotations<N extends Node> { MarkerAnnotationExpr markerAnnotationExpr = new MarkerAnnotationExpr( Name.parse(name)); getAnnotations().add(markerAnnotationExpr); - markerAnnotationExpr.setParentNode((Node) this); return (N) this; } @@ -119,7 +117,6 @@ public interface NodeWithAnnotations<N extends Node> { SingleMemberAnnotationExpr singleMemberAnnotationExpr = new SingleMemberAnnotationExpr( Name.parse(name), new NameExpr(value)); getAnnotations().add(singleMemberAnnotationExpr); - singleMemberAnnotationExpr.setParentNode((Node) this); return (N) this; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBlockStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBlockStmt.java index 1ca7a3488..a23e3e266 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBlockStmt.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBlockStmt.java @@ -35,8 +35,6 @@ public interface NodeWithBlockStmt<N extends Node> { default BlockStmt createBody() {
BlockStmt block = new BlockStmt();
setBody(block);
- block.setParentNode((Node) this);
-
return block;
}
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBody.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBody.java index dcfb27760..2388824af 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBody.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBody.java @@ -32,7 +32,6 @@ public interface NodeWithBody<N extends Node> { default BlockStmt createBlockStatementAsBody() {
BlockStmt b = new BlockStmt();
- b.setParentNode((Node) this);
setBody(b);
return b;
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java index 37c75d2c0..cf1090384 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java @@ -86,7 +86,6 @@ public interface NodeWithExtends<N extends Node> { default N addExtendedType(String name) {
ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType(name);
getExtendedTypes().add(classOrInterfaceType);
- classOrInterfaceType.setParentNode((Node) this);
return (N) this;
}
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithImplements.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithImplements.java index 794c75964..d6839dee0 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithImplements.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithImplements.java @@ -69,7 +69,6 @@ public interface NodeWithImplements<N extends Node> { default N addImplementedType(String name) {
ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType(name);
getImplementedTypes().add(classOrInterfaceType);
- classOrInterfaceType.setParentNode((Node) this);
return (N) this;
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithMembers.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithMembers.java index df228ebba..70dcea854 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithMembers.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithMembers.java @@ -192,7 +192,6 @@ public interface NodeWithMembers<N extends Node> { methodDeclaration.setModifiers(Arrays.stream(modifiers)
.collect(toCollection(() -> EnumSet.noneOf(Modifier.class))));
getMembers().add(methodDeclaration);
- methodDeclaration.setParentNode((Node) this);
return methodDeclaration;
}
@@ -208,7 +207,6 @@ public interface NodeWithMembers<N extends Node> { .collect(toCollection(() -> EnumSet.noneOf(Modifier.class))));
constructorDeclaration.setName(((TypeDeclaration<?>) this).getName());
getMembers().add(constructorDeclaration);
- constructorDeclaration.setParentNode((Node) this);
return constructorDeclaration;
}
@@ -216,7 +214,6 @@ public interface NodeWithMembers<N extends Node> { BlockStmt block = new BlockStmt();
InitializerDeclaration initializerDeclaration = new InitializerDeclaration(false, block);
getMembers().add(initializerDeclaration);
- initializerDeclaration.setParentNode((Node) this);
return block;
}
@@ -224,7 +221,6 @@ public interface NodeWithMembers<N extends Node> { BlockStmt block = new BlockStmt();
InitializerDeclaration initializerDeclaration = new InitializerDeclaration(true, block);
getMembers().add(initializerDeclaration);
- initializerDeclaration.setParentNode((Node) this);
return block;
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalBlockStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalBlockStmt.java index 1be01077e..e930740d4 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalBlockStmt.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalBlockStmt.java @@ -37,7 +37,6 @@ public interface NodeWithOptionalBlockStmt<N extends Node> { default BlockStmt createBody() {
BlockStmt block = new BlockStmt();
setBody(block);
- block.setParentNode((Node) this);
return block;
}
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithStatements.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithStatements.java index 648966f8f..4a71cea99 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithStatements.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithStatements.java @@ -29,6 +29,8 @@ import com.github.javaparser.ast.expr.NameExpr; import com.github.javaparser.ast.stmt.ExpressionStmt;
import com.github.javaparser.ast.stmt.Statement;
+import static com.github.javaparser.JavaParser.*;
+
/**
* A node that contains a list of statements.
*/
@@ -50,51 +52,43 @@ public interface NodeWithStatements<N extends Node> { @SuppressWarnings("unchecked")
default N addStatement(Statement statement) {
getStatements().add(statement);
- statement.setParentNode((Node) this);
return (N) this;
}
@SuppressWarnings("unchecked")
default N addStatement(int index, final Statement statement) {
getStatements().add(index, statement);
- statement.setParentNode((Node) this);
return (N) this;
}
default N addStatement(Expression expr) {
- ExpressionStmt statement = new ExpressionStmt(expr);
- expr.setParentNode(statement);
- return addStatement(statement);
+ return addStatement(new ExpressionStmt(expr));
}
/**
* It will use {@link JavaParser#parseStatement(String)} inside, so it should end with a semi column
*/
default N addStatement(String statement) {
- return addStatement(JavaParser.parseStatement(statement));
+ return addStatement(parseStatement(statement));
}
default N addStatement(int index, final Expression expr) {
Statement stmt = new ExpressionStmt(expr);
- expr.setParentNode(stmt);
return addStatement(index, stmt);
}
default <A extends Statement> A addAndGetStatement(A statement) {
getStatements().add(statement);
- statement.setParentNode((Node) this);
return statement;
}
default Statement addAndGetStatement(int index, final Statement statement) {
getStatements().add(index, statement);
- statement.setParentNode((Node) this);
return statement;
}
default ExpressionStmt addAndGetStatement(Expression expr) {
ExpressionStmt statement = new ExpressionStmt(expr);
- expr.setParentNode(statement);
return addAndGetStatement(statement);
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithThrownExceptions.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithThrownExceptions.java index 280efdd36..f157e5941 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithThrownExceptions.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithThrownExceptions.java @@ -47,7 +47,6 @@ public interface NodeWithThrownExceptions<N extends Node> { @SuppressWarnings("unchecked") default N addThrownException(ReferenceType throwType) { getThrownExceptions().add(throwType); - throwType.setParentNode((Node) this); return (N) this; } diff --git a/javaparser-testing/src/test/java/com/github/javaparser/ast/stmt/BlockStmtTest.java b/javaparser-testing/src/test/java/com/github/javaparser/ast/stmt/BlockStmtTest.java new file mode 100644 index 000000000..5728c23d4 --- /dev/null +++ b/javaparser-testing/src/test/java/com/github/javaparser/ast/stmt/BlockStmtTest.java @@ -0,0 +1,21 @@ +package com.github.javaparser.ast.stmt; + +import com.github.javaparser.ast.expr.Expression; +import com.github.javaparser.ast.expr.MethodCallExpr; +import com.github.javaparser.ast.expr.NameExpr; +import org.junit.Test; + +public class BlockStmtTest { + @Test + public void issue748AddingIdenticalStatementsDoesParentingRight() { + BlockStmt blockStmt = new BlockStmt(); + Expression exp = new NameExpr("x"); + MethodCallExpr expression = new MethodCallExpr(exp, "y"); + + blockStmt.addStatement(expression); + blockStmt.addStatement((Expression) expression.clone()); + // This fails when the issue exists: + String s = blockStmt.toString(); + } + +} |