aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny van Bruggen <danny.van.bruggen@kvk.nl>2017-02-01 15:01:32 +0100
committerDanny van Bruggen <danny.van.bruggen@kvk.nl>2017-02-01 15:01:32 +0100
commite6998664bf8fd093ec35d8921f18d6540ba77665 (patch)
treef3045437b973eab5b5e25504855bd3aa958c6f8d
parentc42cb672c6b4843fec70f193e73676f93d31e547 (diff)
downloadplatform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.tar.gz
platform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.tar.bz2
platform_external_javaparser-e6998664bf8fd093ec35d8921f18d6540ba77665.zip
Remove superfluous parenting
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/CompilationUnit.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/EnumDeclaration.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/expr/NormalAnnotationExpr.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithAnnotations.java3
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBlockStmt.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithBody.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithImplements.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithMembers.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalBlockStmt.java1
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithStatements.java14
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithThrownExceptions.java1
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/ast/stmt/BlockStmtTest.java21
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();
+ }
+
+}