aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-10-17 19:48:52 +0200
committerDanny van Bruggen <hexagonaal@gmail.com>2017-10-17 19:57:33 +0200
commit27a1a23d96cf8a1d4b34cdd28f10730d517673e2 (patch)
tree59cb60ed7aae8e0507730d9eb76393b08d4da2f7
parent255d26470311d9624b12bac2301d589fa2eefb99 (diff)
downloadjavaparser-27a1a23d96cf8a1d4b34cdd28f10730d517673e2.tar.gz
Put receiver parameter only in method declarations
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java46
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java16
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java40
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java5
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java15
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java15
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java4
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java3
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/metamodel/CallableDeclarationMetaModel.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java8
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/metamodel/MethodDeclarationMetaModel.java2
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java8
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java4
-rw-r--r--javaparser-core/src/main/javacc/java.jj5
18 files changed, 90 insertions, 105 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
index 4f0b3e61b..0e9f9d80b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java
@@ -43,7 +43,6 @@ import java.util.List;
import static com.github.javaparser.utils.Utils.assertNotNull;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
-import java.util.Optional;
import java.util.function.Consumer;
/**
@@ -61,23 +60,20 @@ public abstract class CallableDeclaration<T extends CallableDeclaration<?>> exte
private NodeList<ReferenceType> thrownExceptions;
- private ReceiverParameter receiverParameter;
-
@AllFieldsConstructor
- public CallableDeclaration(EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, ReceiverParameter receiverParameter) {
- this(null, modifiers, annotations, typeParameters, name, parameters, thrownExceptions, receiverParameter);
+ public CallableDeclaration(EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions) {
+ this(null, modifiers, annotations, typeParameters, name, parameters, thrownExceptions);
}
/**This constructor is used by the parser and is considered private.*/
@Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
- public CallableDeclaration(TokenRange tokenRange, EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, ReceiverParameter receiverParameter) {
+ public CallableDeclaration(TokenRange tokenRange, EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions) {
super(tokenRange, annotations);
setModifiers(modifiers);
setTypeParameters(typeParameters);
setName(name);
setParameters(parameters);
setThrownExceptions(thrownExceptions);
- setReceiverParameter(receiverParameter);
customInitialization();
}
@@ -222,12 +218,6 @@ public abstract class CallableDeclaration<T extends CallableDeclaration<?>> exte
return true;
}
}
- if (receiverParameter != null) {
- if (node == receiverParameter) {
- removeReceiverParameter();
- return true;
- }
- }
for (int i = 0; i < thrownExceptions.size(); i++) {
if (thrownExceptions.get(i) == node) {
thrownExceptions.remove(i);
@@ -354,12 +344,6 @@ public abstract class CallableDeclaration<T extends CallableDeclaration<?>> exte
return true;
}
}
- if (receiverParameter != null) {
- if (node == receiverParameter) {
- setReceiverParameter((ReceiverParameter) replacementNode);
- return true;
- }
- }
for (int i = 0; i < thrownExceptions.size(); i++) {
if (thrownExceptions.get(i) == node) {
thrownExceptions.set(i, (ReferenceType) replacementNode);
@@ -391,28 +375,4 @@ public abstract class CallableDeclaration<T extends CallableDeclaration<?>> exte
public void ifCallableDeclaration(Consumer<CallableDeclaration> action) {
action.accept(this);
}
-
- @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
- public Optional<ReceiverParameter> getReceiverParameter() {
- return Optional.ofNullable(receiverParameter);
- }
-
- @SuppressWarnings("unchecked")
- @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
- public T setReceiverParameter(final ReceiverParameter receiverParameter) {
- if (receiverParameter == this.receiverParameter) {
- return (T) this;
- }
- notifyPropertyChange(ObservableProperty.RECEIVER_PARAMETER, this.receiverParameter, receiverParameter);
- if (this.receiverParameter != null)
- this.receiverParameter.setParentNode(null);
- this.receiverParameter = receiverParameter;
- setAsParentNodeOf(receiverParameter);
- return (T) this;
- }
-
- @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator")
- public CallableDeclaration removeReceiverParameter() {
- return setReceiverParameter((ReceiverParameter) null);
- }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
index 8c8a979b5..c2aea12b2 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java
@@ -51,7 +51,7 @@ import java.util.function.Consumer;
*
* <br/>All annotations preceding the name will be set on this object, not on the class.
* JavaParser doesn't know if it they are applicable to the method or the class.
- *
+ *
* @author Julio Vilmar Gesser
*/
public final class ConstructorDeclaration extends CallableDeclaration<ConstructorDeclaration> implements NodeWithBlockStmt<ConstructorDeclaration>, NodeWithAccessModifiers<ConstructorDeclaration>, NodeWithJavadoc<ConstructorDeclaration>, NodeWithDeclaration, NodeWithSimpleName<ConstructorDeclaration>, NodeWithParameters<ConstructorDeclaration>, NodeWithThrownExceptions<ConstructorDeclaration>, NodeWithTypeParameters<ConstructorDeclaration> {
@@ -59,26 +59,26 @@ public final class ConstructorDeclaration extends CallableDeclaration<Constructo
private BlockStmt body;
public ConstructorDeclaration() {
- this(null, EnumSet.noneOf(Modifier.class), new NodeList<>(), new NodeList<>(), new SimpleName(), new NodeList<>(), new NodeList<>(), new BlockStmt(), null);
+ this(null, EnumSet.noneOf(Modifier.class), new NodeList<>(), new NodeList<>(), new SimpleName(), new NodeList<>(), new NodeList<>(), new BlockStmt());
}
public ConstructorDeclaration(String name) {
- this(null, EnumSet.of(Modifier.PUBLIC), new NodeList<>(), new NodeList<>(), new SimpleName(name), new NodeList<>(), new NodeList<>(), new BlockStmt(), null);
+ this(null, EnumSet.of(Modifier.PUBLIC), new NodeList<>(), new NodeList<>(), new SimpleName(name), new NodeList<>(), new NodeList<>(), new BlockStmt());
}
public ConstructorDeclaration(EnumSet<Modifier> modifiers, String name) {
- this(null, modifiers, new NodeList<>(), new NodeList<>(), new SimpleName(name), new NodeList<>(), new NodeList<>(), new BlockStmt(), null);
+ this(null, modifiers, new NodeList<>(), new NodeList<>(), new SimpleName(name), new NodeList<>(), new NodeList<>(), new BlockStmt());
}
@AllFieldsConstructor
- public ConstructorDeclaration(EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter) {
- this(null, modifiers, annotations, typeParameters, name, parameters, thrownExceptions, body, receiverParameter);
+ public ConstructorDeclaration(EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body) {
+ this(null, modifiers, annotations, typeParameters, name, parameters, thrownExceptions, body);
}
/**This constructor is used by the parser and is considered private.*/
@Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
- public ConstructorDeclaration(TokenRange tokenRange, EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter) {
- super(tokenRange, modifiers, annotations, typeParameters, name, parameters, thrownExceptions, receiverParameter);
+ public ConstructorDeclaration(TokenRange tokenRange, EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body) {
+ super(tokenRange, modifiers, annotations, typeParameters, name, parameters, thrownExceptions);
setBody(body);
customInitialization();
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
index 7049dece9..e39607e9c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
@@ -67,6 +67,8 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
private BlockStmt body;
+ private ReceiverParameter receiverParameter;
+
public MethodDeclaration() {
this(null, EnumSet.noneOf(Modifier.class), new NodeList<>(), new NodeList<>(), new ClassOrInterfaceType(), new SimpleName(), new NodeList<>(), new NodeList<>(), new BlockStmt(), null);
}
@@ -94,9 +96,10 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
/**This constructor is used by the parser and is considered private.*/
@Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
public MethodDeclaration(TokenRange tokenRange, EnumSet<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter) {
- super(tokenRange, modifiers, annotations, typeParameters, name, parameters, thrownExceptions, receiverParameter);
+ super(tokenRange, modifiers, annotations, typeParameters, name, parameters, thrownExceptions);
setType(type);
setBody(body);
+ setReceiverParameter(receiverParameter);
customInitialization();
}
@@ -271,6 +274,12 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
return true;
}
}
+ if (receiverParameter != null) {
+ if (node == receiverParameter) {
+ removeReceiverParameter();
+ return true;
+ }
+ }
return super.remove(node);
}
@@ -302,6 +311,12 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
return true;
}
}
+ if (receiverParameter != null) {
+ if (node == receiverParameter) {
+ setReceiverParameter((ReceiverParameter) replacementNode);
+ return true;
+ }
+ }
if (node == type) {
setType((Type) replacementNode);
return true;
@@ -330,4 +345,27 @@ public final class MethodDeclaration extends CallableDeclaration<MethodDeclarati
public ResolvedMethodDeclaration resolve() {
return getSymbolResolver().resolve(this, ResolvedMethodDeclaration.class);
}
+
+ @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
+ public Optional<ReceiverParameter> getReceiverParameter() {
+ return Optional.ofNullable(receiverParameter);
+ }
+
+ @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
+ public MethodDeclaration setReceiverParameter(final ReceiverParameter receiverParameter) {
+ if (receiverParameter == this.receiverParameter) {
+ return (MethodDeclaration) this;
+ }
+ notifyPropertyChange(ObservableProperty.RECEIVER_PARAMETER, this.receiverParameter, receiverParameter);
+ if (this.receiverParameter != null)
+ this.receiverParameter.setParentNode(null);
+ this.receiverParameter = receiverParameter;
+ setAsParentNodeOf(receiverParameter);
+ return this;
+ }
+
+ @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator")
+ public MethodDeclaration removeReceiverParameter() {
+ return setReceiverParameter((ReceiverParameter) null);
+ }
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java
index e5b88e1a1..5f77fc76a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java
@@ -185,12 +185,11 @@ public class CloneVisitor implements GenericVisitor<Visitable, Object> {
BlockStmt body = cloneNode(n.getBody(), arg);
SimpleName name = cloneNode(n.getName(), arg);
NodeList<Parameter> parameters = cloneList(n.getParameters(), arg);
- ReceiverParameter receiverParameter = cloneNode(n.getReceiverParameter(), arg);
NodeList<ReferenceType> thrownExceptions = cloneList(n.getThrownExceptions(), arg);
NodeList<TypeParameter> typeParameters = cloneList(n.getTypeParameters(), arg);
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
Comment comment = cloneNode(n.getComment(), arg);
- ConstructorDeclaration r = new ConstructorDeclaration(n.getTokenRange().orElse(null), n.getModifiers(), annotations, typeParameters, name, parameters, thrownExceptions, body, receiverParameter);
+ ConstructorDeclaration r = new ConstructorDeclaration(n.getTokenRange().orElse(null), n.getModifiers(), annotations, typeParameters, name, parameters, thrownExceptions, body);
r.setComment(comment);
return r;
}
@@ -199,10 +198,10 @@ public class CloneVisitor implements GenericVisitor<Visitable, Object> {
@Generated("com.github.javaparser.generator.core.visitor.CloneVisitorGenerator")
public Visitable visit(final MethodDeclaration n, final Object arg) {
BlockStmt body = cloneNode(n.getBody(), arg);
+ ReceiverParameter receiverParameter = cloneNode(n.getReceiverParameter(), arg);
Type type = cloneNode(n.getType(), arg);
SimpleName name = cloneNode(n.getName(), arg);
NodeList<Parameter> parameters = cloneList(n.getParameters(), arg);
- ReceiverParameter receiverParameter = cloneNode(n.getReceiverParameter(), arg);
NodeList<ReferenceType> thrownExceptions = cloneList(n.getThrownExceptions(), arg);
NodeList<TypeParameter> typeParameters = cloneList(n.getTypeParameters(), arg);
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java
index 49a2ee278..72e7afcc1 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java
@@ -338,8 +338,6 @@ public class EqualsVisitor implements GenericVisitor<Boolean, Visitable> {
return false;
if (!nodesEquals(n.getParameters(), n2.getParameters()))
return false;
- if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
- return false;
if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
return false;
if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
@@ -357,6 +355,8 @@ public class EqualsVisitor implements GenericVisitor<Boolean, Visitable> {
final MethodDeclaration n2 = (MethodDeclaration) arg;
if (!nodeEquals(n.getBody(), n2.getBody()))
return false;
+ if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
+ return false;
if (!nodeEquals(n.getType(), n2.getType()))
return false;
if (!objEquals(n.getModifiers(), n2.getModifiers()))
@@ -365,8 +365,6 @@ public class EqualsVisitor implements GenericVisitor<Boolean, Visitable> {
return false;
if (!nodesEquals(n.getParameters(), n2.getParameters()))
return false;
- if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
- return false;
if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
return false;
if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java
index 14ae6c5b5..b6cad5bae 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java
@@ -562,11 +562,6 @@ public abstract class GenericListVisitorAdapter<R, A> implements GenericVisitor<
if (tmp != null)
result.addAll(tmp);
}
- if (n.getReceiverParameter().isPresent()) {
- tmp = n.getReceiverParameter().get().accept(this, arg);
- if (tmp != null)
- result.addAll(tmp);
- }
{
tmp = n.getThrownExceptions().accept(this, arg);
if (tmp != null)
@@ -1190,6 +1185,11 @@ public abstract class GenericListVisitorAdapter<R, A> implements GenericVisitor<
if (tmp != null)
result.addAll(tmp);
}
+ if (n.getReceiverParameter().isPresent()) {
+ tmp = n.getReceiverParameter().get().accept(this, arg);
+ if (tmp != null)
+ result.addAll(tmp);
+ }
{
tmp = n.getType().accept(this, arg);
if (tmp != null)
@@ -1205,11 +1205,6 @@ public abstract class GenericListVisitorAdapter<R, A> implements GenericVisitor<
if (tmp != null)
result.addAll(tmp);
}
- if (n.getReceiverParameter().isPresent()) {
- tmp = n.getReceiverParameter().get().accept(this, arg);
- if (tmp != null)
- result.addAll(tmp);
- }
{
tmp = n.getThrownExceptions().accept(this, arg);
if (tmp != null)
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java
index 5b4bf55c0..14872667c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java
@@ -502,11 +502,6 @@ public abstract class GenericVisitorAdapter<R, A> implements GenericVisitor<R, A
if (result != null)
return result;
}
- if (n.getReceiverParameter().isPresent()) {
- result = n.getReceiverParameter().get().accept(this, arg);
- if (result != null)
- return result;
- }
{
result = n.getThrownExceptions().accept(this, arg);
if (result != null)
@@ -1040,6 +1035,11 @@ public abstract class GenericVisitorAdapter<R, A> implements GenericVisitor<R, A
if (result != null)
return result;
}
+ if (n.getReceiverParameter().isPresent()) {
+ result = n.getReceiverParameter().get().accept(this, arg);
+ if (result != null)
+ return result;
+ }
{
result = n.getType().accept(this, arg);
if (result != null)
@@ -1055,11 +1055,6 @@ public abstract class GenericVisitorAdapter<R, A> implements GenericVisitor<R, A
if (result != null)
return result;
}
- if (n.getReceiverParameter().isPresent()) {
- result = n.getReceiverParameter().get().accept(this, arg);
- if (result != null)
- return result;
- }
{
result = n.getThrownExceptions().accept(this, arg);
if (result != null)
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java
index 2a12b7f69..0b4f346b6 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java
@@ -159,7 +159,7 @@ public class HashCodeVisitor implements GenericVisitor<Integer, Void> {
@Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator")
public Integer visit(final ConstructorDeclaration n, final Void arg) {
- return (n.getBody().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg)) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0);
+ return (n.getBody().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg)) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0);
}
@Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator")
@@ -304,7 +304,7 @@ public class HashCodeVisitor implements GenericVisitor<Integer, Void> {
@Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator")
public Integer visit(final MethodDeclaration n, final Void arg) {
- return (n.getBody().isPresent() ? n.getBody().get().accept(this, arg) : 0) * 31 + (n.getType().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg)) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0);
+ return (n.getBody().isPresent() ? n.getBody().get().accept(this, arg) : 0) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getType().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg)) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0);
}
@Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator")
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java
index 0a8619055..5a62f025a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java
@@ -321,7 +321,6 @@ public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> {
BlockStmt body = (BlockStmt) n.getBody().accept(this, arg);
SimpleName name = (SimpleName) n.getName().accept(this, arg);
NodeList<Parameter> parameters = modifyList(n.getParameters(), arg);
- ReceiverParameter receiverParameter = n.getReceiverParameter().map(s -> (ReceiverParameter) s.accept(this, arg)).orElse(null);
NodeList<ReferenceType> thrownExceptions = modifyList(n.getThrownExceptions(), arg);
NodeList<TypeParameter> typeParameters = modifyList(n.getTypeParameters(), arg);
NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg);
@@ -331,7 +330,6 @@ public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> {
n.setBody(body);
n.setName(name);
n.setParameters(parameters);
- n.setReceiverParameter(receiverParameter);
n.setThrownExceptions(thrownExceptions);
n.setTypeParameters(typeParameters);
n.setAnnotations(annotations);
@@ -649,10 +647,10 @@ public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> {
@Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator")
public Visitable visit(final MethodDeclaration n, final A arg) {
BlockStmt body = n.getBody().map(s -> (BlockStmt) s.accept(this, arg)).orElse(null);
+ ReceiverParameter receiverParameter = n.getReceiverParameter().map(s -> (ReceiverParameter) s.accept(this, arg)).orElse(null);
Type type = (Type) n.getType().accept(this, arg);
SimpleName name = (SimpleName) n.getName().accept(this, arg);
NodeList<Parameter> parameters = modifyList(n.getParameters(), arg);
- ReceiverParameter receiverParameter = n.getReceiverParameter().map(s -> (ReceiverParameter) s.accept(this, arg)).orElse(null);
NodeList<ReferenceType> thrownExceptions = modifyList(n.getThrownExceptions(), arg);
NodeList<TypeParameter> typeParameters = modifyList(n.getTypeParameters(), arg);
NodeList<AnnotationExpr> annotations = modifyList(n.getAnnotations(), arg);
@@ -660,10 +658,10 @@ public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> {
if (type == null || name == null)
return null;
n.setBody(body);
+ n.setReceiverParameter(receiverParameter);
n.setType(type);
n.setName(name);
n.setParameters(parameters);
- n.setReceiverParameter(receiverParameter);
n.setThrownExceptions(thrownExceptions);
n.setTypeParameters(typeParameters);
n.setAnnotations(annotations);
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java
index 8e6862995..b7a9914df 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java
@@ -267,8 +267,6 @@ public class NoCommentEqualsVisitor implements GenericVisitor<Boolean, Visitable
return false;
if (!nodesEquals(n.getParameters(), n2.getParameters()))
return false;
- if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
- return false;
if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
return false;
if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
@@ -284,6 +282,8 @@ public class NoCommentEqualsVisitor implements GenericVisitor<Boolean, Visitable
final MethodDeclaration n2 = (MethodDeclaration) arg;
if (!nodeEquals(n.getBody(), n2.getBody()))
return false;
+ if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
+ return false;
if (!nodeEquals(n.getType(), n2.getType()))
return false;
if (!objEquals(n.getModifiers(), n2.getModifiers()))
@@ -292,8 +292,6 @@ public class NoCommentEqualsVisitor implements GenericVisitor<Boolean, Visitable
return false;
if (!nodesEquals(n.getParameters(), n2.getParameters()))
return false;
- if (!nodeEquals(n.getReceiverParameter(), n2.getReceiverParameter()))
- return false;
if (!nodesEquals(n.getThrownExceptions(), n2.getThrownExceptions()))
return false;
if (!nodesEquals(n.getTypeParameters(), n2.getTypeParameters()))
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java
index 914391c90..e23beae79 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java
@@ -151,7 +151,7 @@ public class NoCommentHashCodeVisitor implements GenericVisitor<Integer, Void> {
@Generated("com.github.javaparser.generator.core.visitor.NoCommentHashCodeVisitorGenerator")
public Integer visit(final ConstructorDeclaration n, final Void arg) {
- return (n.getBody().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg));
+ return (n.getBody().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg));
}
@Generated("com.github.javaparser.generator.core.visitor.NoCommentHashCodeVisitorGenerator")
@@ -296,7 +296,7 @@ public class NoCommentHashCodeVisitor implements GenericVisitor<Integer, Void> {
@Generated("com.github.javaparser.generator.core.visitor.NoCommentHashCodeVisitorGenerator")
public Integer visit(final MethodDeclaration n, final Void arg) {
- return (n.getBody().isPresent() ? n.getBody().get().accept(this, arg) : 0) * 31 + (n.getType().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg));
+ return (n.getBody().isPresent() ? n.getBody().get().accept(this, arg) : 0) * 31 + (n.getReceiverParameter().isPresent() ? n.getReceiverParameter().get().accept(this, arg) : 0) * 31 + (n.getType().accept(this, arg)) * 31 + (n.getModifiers().hashCode()) * 31 + (n.getName().accept(this, arg)) * 31 + (n.getParameters().accept(this, arg)) * 31 + (n.getThrownExceptions().accept(this, arg)) * 31 + (n.getTypeParameters().accept(this, arg)) * 31 + (n.getAnnotations().accept(this, arg));
}
@Generated("com.github.javaparser.generator.core.visitor.NoCommentHashCodeVisitorGenerator")
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java
index 6ece2a302..02f530a9a 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java
@@ -208,7 +208,6 @@ public abstract class VoidVisitorAdapter<A> implements VoidVisitor<A> {
n.getBody().accept(this, arg);
n.getName().accept(this, arg);
n.getParameters().forEach(p -> p.accept(this, arg));
- n.getReceiverParameter().ifPresent(l -> l.accept(this, arg));
n.getThrownExceptions().forEach(p -> p.accept(this, arg));
n.getTypeParameters().forEach(p -> p.accept(this, arg));
n.getAnnotations().forEach(p -> p.accept(this, arg));
@@ -408,10 +407,10 @@ public abstract class VoidVisitorAdapter<A> implements VoidVisitor<A> {
@Generated("com.github.javaparser.generator.core.visitor.VoidVisitorAdapterGenerator")
public void visit(final MethodDeclaration n, final A arg) {
n.getBody().ifPresent(l -> l.accept(this, arg));
+ n.getReceiverParameter().ifPresent(l -> l.accept(this, arg));
n.getType().accept(this, arg);
n.getName().accept(this, arg);
n.getParameters().forEach(p -> p.accept(this, arg));
- n.getReceiverParameter().ifPresent(l -> l.accept(this, arg));
n.getThrownExceptions().forEach(p -> p.accept(this, arg));
n.getTypeParameters().forEach(p -> p.accept(this, arg));
n.getAnnotations().forEach(p -> p.accept(this, arg));
diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/CallableDeclarationMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/CallableDeclarationMetaModel.java
index 040762f0e..358ff424c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/CallableDeclarationMetaModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/CallableDeclarationMetaModel.java
@@ -19,8 +19,6 @@ public class CallableDeclarationMetaModel extends BodyDeclarationMetaModel {
public PropertyMetaModel parametersPropertyMetaModel;
- public PropertyMetaModel receiverParameterPropertyMetaModel;
-
public PropertyMetaModel thrownExceptionsPropertyMetaModel;
public PropertyMetaModel typeParametersPropertyMetaModel;
diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
index 6c7c84444..fa5132fa4 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java
@@ -23,7 +23,6 @@ public final class JavaParserMetaModel {
callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.namePropertyMetaModel);
callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
- callableDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
typeMetaModel.getConstructorParameters().add(typeMetaModel.annotationsPropertyMetaModel);
annotationExprMetaModel.getConstructorParameters().add(annotationExprMetaModel.namePropertyMetaModel);
typeDeclarationMetaModel.getConstructorParameters().add(typeDeclarationMetaModel.modifiersPropertyMetaModel);
@@ -69,7 +68,6 @@ public final class JavaParserMetaModel {
constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
constructorDeclarationMetaModel.getConstructorParameters().add(constructorDeclarationMetaModel.bodyPropertyMetaModel);
- constructorDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
enumConstantDeclarationMetaModel.getConstructorParameters().add(bodyDeclarationMetaModel.annotationsPropertyMetaModel);
enumConstantDeclarationMetaModel.getConstructorParameters().add(enumConstantDeclarationMetaModel.namePropertyMetaModel);
enumConstantDeclarationMetaModel.getConstructorParameters().add(enumConstantDeclarationMetaModel.argumentsPropertyMetaModel);
@@ -93,7 +91,7 @@ public final class JavaParserMetaModel {
methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
methodDeclarationMetaModel.getConstructorParameters().add(methodDeclarationMetaModel.bodyPropertyMetaModel);
- methodDeclarationMetaModel.getConstructorParameters().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
+ methodDeclarationMetaModel.getConstructorParameters().add(methodDeclarationMetaModel.receiverParameterPropertyMetaModel);
parameterMetaModel.getConstructorParameters().add(parameterMetaModel.modifiersPropertyMetaModel);
parameterMetaModel.getConstructorParameters().add(parameterMetaModel.annotationsPropertyMetaModel);
parameterMetaModel.getConstructorParameters().add(parameterMetaModel.typePropertyMetaModel);
@@ -367,8 +365,6 @@ public final class JavaParserMetaModel {
callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.namePropertyMetaModel);
callableDeclarationMetaModel.parametersPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "parameters", com.github.javaparser.ast.body.Parameter.class, Optional.of(parameterMetaModel), false, false, true, false, false);
callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.parametersPropertyMetaModel);
- callableDeclarationMetaModel.receiverParameterPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "receiverParameter", com.github.javaparser.ast.body.ReceiverParameter.class, Optional.of(receiverParameterMetaModel), true, false, false, false, false);
- callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.receiverParameterPropertyMetaModel);
callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "thrownExceptions", com.github.javaparser.ast.type.ReferenceType.class, Optional.of(referenceTypeMetaModel), false, false, true, false, false);
callableDeclarationMetaModel.getDeclaredPropertyMetaModels().add(callableDeclarationMetaModel.thrownExceptionsPropertyMetaModel);
callableDeclarationMetaModel.typeParametersPropertyMetaModel = new PropertyMetaModel(callableDeclarationMetaModel, "typeParameters", com.github.javaparser.ast.type.TypeParameter.class, Optional.of(typeParameterMetaModel), false, false, true, false, false);
@@ -449,6 +445,8 @@ public final class JavaParserMetaModel {
initializerDeclarationMetaModel.getDeclaredPropertyMetaModels().add(initializerDeclarationMetaModel.isStaticPropertyMetaModel);
methodDeclarationMetaModel.bodyPropertyMetaModel = new PropertyMetaModel(methodDeclarationMetaModel, "body", com.github.javaparser.ast.stmt.BlockStmt.class, Optional.of(blockStmtMetaModel), true, false, false, false, false);
methodDeclarationMetaModel.getDeclaredPropertyMetaModels().add(methodDeclarationMetaModel.bodyPropertyMetaModel);
+ methodDeclarationMetaModel.receiverParameterPropertyMetaModel = new PropertyMetaModel(methodDeclarationMetaModel, "receiverParameter", com.github.javaparser.ast.body.ReceiverParameter.class, Optional.of(receiverParameterMetaModel), true, false, false, false, false);
+ methodDeclarationMetaModel.getDeclaredPropertyMetaModels().add(methodDeclarationMetaModel.receiverParameterPropertyMetaModel);
methodDeclarationMetaModel.typePropertyMetaModel = new PropertyMetaModel(methodDeclarationMetaModel, "type", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), false, false, false, false, false);
methodDeclarationMetaModel.getDeclaredPropertyMetaModels().add(methodDeclarationMetaModel.typePropertyMetaModel);
parameterMetaModel.annotationsPropertyMetaModel = new PropertyMetaModel(parameterMetaModel, "annotations", com.github.javaparser.ast.expr.AnnotationExpr.class, Optional.of(annotationExprMetaModel), false, false, true, false, false);
diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/MethodDeclarationMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/MethodDeclarationMetaModel.java
index 74aaeae69..8378bd9aa 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/MethodDeclarationMetaModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/MethodDeclarationMetaModel.java
@@ -10,5 +10,7 @@ public class MethodDeclarationMetaModel extends CallableDeclarationMetaModel {
public PropertyMetaModel bodyPropertyMetaModel;
+ public PropertyMetaModel receiverParameterPropertyMetaModel;
+
public PropertyMetaModel typePropertyMetaModel;
}
diff --git a/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java b/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java
index 79a7f0134..fb308c78b 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java
@@ -214,6 +214,7 @@ public class ConcreteSyntaxModel {
space(),
child(ObservableProperty.NAME),
token(GeneratedJavaParserConstants.LPAREN),
+ conditional(ObservableProperty.RECEIVER_PARAMETER, IS_PRESENT, sequence(child(ObservableProperty.RECEIVER_PARAMETER), comma())),
list(ObservableProperty.PARAMETERS, sequence(comma(), space()), none(), none()),
token(GeneratedJavaParserConstants.RPAREN),
list(ObservableProperty.THROWN_EXCEPTIONS, sequence(comma(), space()), sequence(space(), token(GeneratedJavaParserConstants.THROWS), space()), none()),
@@ -231,6 +232,13 @@ public class ConcreteSyntaxModel {
space(),
child(ObservableProperty.NAME)));
+ concreteSyntaxModelByClass.put(ReceiverParameter.class, sequence(
+ comment(),
+ list(ObservableProperty.ANNOTATIONS, CsmElement.space(), CsmElement.none(), CsmElement.space()),
+ child(ObservableProperty.TYPE),
+ space(),
+ child(ObservableProperty.NAME)));
+
concreteSyntaxModelByClass.put(VariableDeclarator.class, sequence(
comment(),
child(ObservableProperty.NAME),
diff --git a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java
index 6d6580e8d..efde0667c 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java
@@ -747,10 +747,6 @@ public class PrettyPrintVisitor implements VoidVisitor<Void> {
n.getName().accept(this, arg);
printer.print("(");
- n.getReceiverParameter().ifPresent(rp -> {
- rp.accept(this, arg);
- printer.print(", ");
- });
if (!n.getParameters().isEmpty()) {
for (final Iterator<Parameter> i = n.getParameters().iterator(); i.hasNext(); ) {
final Parameter p = i.next();
diff --git a/javaparser-core/src/main/javacc/java.jj b/javaparser-core/src/main/javacc/java.jj
index c38b1e429..9eccde9da 100644
--- a/javaparser-core/src/main/javacc/java.jj
+++ b/javaparser-core/src/main/javacc/java.jj
@@ -1304,7 +1304,10 @@ ConstructorDeclaration ConstructorDeclaration(ModifierHolder modifier):
if (exConsInv != null) {
stmts = prepend(stmts, exConsInv);
}
- return new ConstructorDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, typeParameters.list, name, parameters.a, throws_, new BlockStmt(range(blockBegin, token()), stmts), parameters.b);
+ if (parameters.b != null) {
+ addProblem("The receiver cannot be used in a static context.");
+ }
+ return new ConstructorDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, typeParameters.list, name, parameters.a, throws_, new BlockStmt(range(blockBegin, token()), stmts));
}
}