aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java')
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java349
1 files changed, 185 insertions, 164 deletions
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 7c2e606c3..9aa0cd841 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
@@ -18,11 +18,21 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/
-
+
package com.github.javaparser.ast.body;
+import static com.github.javaparser.Position.pos;
+import static com.github.javaparser.ast.internal.Utils.ensureNotNull;
+
+import java.util.List;
+
import com.github.javaparser.Range;
-import com.github.javaparser.ast.*;
+import com.github.javaparser.ast.AccessSpecifier;
+import com.github.javaparser.ast.DocumentableNode;
+import com.github.javaparser.ast.NamedNode;
+import com.github.javaparser.ast.NodeWithModifiers;
+import com.github.javaparser.ast.TypeParameter;
+import com.github.javaparser.ast.TypedNode;
import com.github.javaparser.ast.comments.JavadocComment;
import com.github.javaparser.ast.expr.AnnotationExpr;
import com.github.javaparser.ast.expr.NameExpr;
@@ -32,199 +42,209 @@ import com.github.javaparser.ast.type.Type;
import com.github.javaparser.ast.visitor.GenericVisitor;
import com.github.javaparser.ast.visitor.VoidVisitor;
-import java.util.List;
-
-import static com.github.javaparser.Position.pos;
-import static com.github.javaparser.ast.internal.Utils.ensureNotNull;
-
/**
* @author Julio Vilmar Gesser
*/
-public final class MethodDeclaration extends BodyDeclaration implements DocumentableNode, WithDeclaration, NamedNode, TypedNode, NodeWithModifiers {
+public final class MethodDeclaration extends BodyDeclaration
+ implements DocumentableNode, WithDeclaration, NamedNode, TypedNode<MethodDeclaration>, NodeWithModifiers {
- private int modifiers;
+ private int modifiers;
- private List<TypeParameter> typeParameters;
+ private List<TypeParameter> typeParameters;
- private Type type;
+ private Type type;
- private NameExpr name;
+ private NameExpr name;
- private List<Parameter> parameters;
+ private List<Parameter> parameters;
- private int arrayCount;
+ private int arrayCount;
- private List<ReferenceType> throws_;
+ private List<ReferenceType> throws_;
- private BlockStmt body;
+ private BlockStmt body;
private boolean isDefault = false;
public MethodDeclaration() {
- }
-
- public MethodDeclaration(final int modifiers, final Type type, final String name) {
- setModifiers(modifiers);
- setType(type);
- setName(name);
- }
-
- public MethodDeclaration(final int modifiers, final Type type, final String name, final List<Parameter> parameters) {
- setModifiers(modifiers);
- setType(type);
- setName(name);
- setParameters(parameters);
- }
-
- public MethodDeclaration(final int modifiers, final List<AnnotationExpr> annotations,
- final List<TypeParameter> typeParameters, final Type type, final String name,
- final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_, final BlockStmt body) {
- super(annotations);
- setModifiers(modifiers);
- setTypeParameters(typeParameters);
- setType(type);
- setName(name);
- setParameters(parameters);
- setArrayCount(arrayCount);
- setThrows(throws_);
- setBody(body);
- }
-
- /**
- * @deprecated prefer using Range objects.
- */
- @Deprecated
- public MethodDeclaration(final int beginLine, final int beginColumn, final int endLine, final int endColumn,
- final int modifiers, final List<AnnotationExpr> annotations,
- final List<TypeParameter> typeParameters, final Type type, final String name,
- final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_, final BlockStmt body) {
- this(new Range(pos(beginLine, beginColumn), pos(endLine, endColumn)), modifiers, annotations, typeParameters, type, name, parameters, arrayCount, throws_, body);
- }
-
- public MethodDeclaration(Range range,
- final int modifiers, final List<AnnotationExpr> annotations,
- final List<TypeParameter> typeParameters, final Type type, final String name,
- final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_, final BlockStmt body) {
- super(range, annotations);
- setModifiers(modifiers);
- setTypeParameters(typeParameters);
- setType(type);
- setName(name);
- setParameters(parameters);
- setArrayCount(arrayCount);
- setThrows(throws_);
- setBody(body);
- }
-
- @Override public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) {
- return v.visit(this, arg);
- }
-
- @Override public <A> void accept(final VoidVisitor<A> v, final A arg) {
- v.visit(this, arg);
- }
-
- public int getArrayCount() {
- return arrayCount;
- }
-
- public BlockStmt getBody() {
- return body;
- }
-
- /**
- * Return the modifiers of this member declaration.
- *
- * @see ModifierSet
- * @return modifiers
- */
- @Override
- public int getModifiers() {
- return modifiers;
- }
-
- @Override
- public String getName() {
- return name.getName();
- }
+ }
+
+ public MethodDeclaration(final int modifiers, final Type type, final String name) {
+ setModifiers(modifiers);
+ setType(type);
+ setName(name);
+ }
+
+ public MethodDeclaration(final int modifiers, final Type type, final String name,
+ final List<Parameter> parameters) {
+ setModifiers(modifiers);
+ setType(type);
+ setName(name);
+ setParameters(parameters);
+ }
+
+ public MethodDeclaration(final int modifiers, final List<AnnotationExpr> annotations,
+ final List<TypeParameter> typeParameters, final Type type, final String name,
+ final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_,
+ final BlockStmt body) {
+ super(annotations);
+ setModifiers(modifiers);
+ setTypeParameters(typeParameters);
+ setType(type);
+ setName(name);
+ setParameters(parameters);
+ setArrayCount(arrayCount);
+ setThrows(throws_);
+ setBody(body);
+ }
+
+ /**
+ * @deprecated prefer using Range objects.
+ */
+ @Deprecated
+ public MethodDeclaration(final int beginLine, final int beginColumn, final int endLine, final int endColumn,
+ final int modifiers, final List<AnnotationExpr> annotations,
+ final List<TypeParameter> typeParameters, final Type type, final String name,
+ final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_,
+ final BlockStmt body) {
+ this(new Range(pos(beginLine, beginColumn), pos(endLine, endColumn)), modifiers, annotations, typeParameters,
+ type, name, parameters, arrayCount, throws_, body);
+ }
+
+ public MethodDeclaration(Range range,
+ final int modifiers, final List<AnnotationExpr> annotations,
+ final List<TypeParameter> typeParameters, final Type type, final String name,
+ final List<Parameter> parameters, final int arrayCount, final List<ReferenceType> throws_,
+ final BlockStmt body) {
+ super(range, annotations);
+ setModifiers(modifiers);
+ setTypeParameters(typeParameters);
+ setType(type);
+ setName(name);
+ setParameters(parameters);
+ setArrayCount(arrayCount);
+ setThrows(throws_);
+ setBody(body);
+ }
+
+ @Override
+ public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) {
+ return v.visit(this, arg);
+ }
+
+ @Override
+ public <A> void accept(final VoidVisitor<A> v, final A arg) {
+ v.visit(this, arg);
+ }
+
+ public int getArrayCount() {
+ return arrayCount;
+ }
+
+ public BlockStmt getBody() {
+ return body;
+ }
+
+ /**
+ * Return the modifiers of this member declaration.
+ *
+ * @see ModifierSet
+ * @return modifiers
+ */
+ @Override
+ public int getModifiers() {
+ return modifiers;
+ }
+
+ @Override
+ public String getName() {
+ return name.getName();
+ }
public NameExpr getNameExpr() {
return name;
}
- public List<Parameter> getParameters() {
+ public List<Parameter> getParameters() {
parameters = ensureNotNull(parameters);
return parameters;
- }
+ }
- public List<ReferenceType> getThrows() {
+ public List<ReferenceType> getThrows() {
throws_ = ensureNotNull(throws_);
return throws_;
- }
+ }
- @Override
- public Type getType() {
- return type;
- }
+ @Override
+ public Type getType() {
+ return type;
+ }
- public List<TypeParameter> getTypeParameters() {
+ public List<TypeParameter> getTypeParameters() {
typeParameters = ensureNotNull(typeParameters);
return typeParameters;
- }
+ }
- public void setArrayCount(final int arrayCount) {
- this.arrayCount = arrayCount;
- }
+ public void setArrayCount(final int arrayCount) {
+ this.arrayCount = arrayCount;
+ }
- public void setBody(final BlockStmt body) {
- this.body = body;
- setAsParentNodeOf(this.body);
- }
+ public MethodDeclaration setBody(final BlockStmt body) {
+ this.body = body;
+ setAsParentNodeOf(this.body);
+ return this;
+ }
- public void setModifiers(final int modifiers) {
- this.modifiers = modifiers;
- }
+ public MethodDeclaration setModifiers(final int modifiers) {
+ this.modifiers = modifiers;
+ return this;
+ }
- public void setName(final String name) {
- setNameExpr(new NameExpr(name));
- }
+ public MethodDeclaration setName(final String name) {
+ setNameExpr(new NameExpr(name));
+ return this;
+ }
- public void setNameExpr(final NameExpr name) {
+ public MethodDeclaration setNameExpr(final NameExpr name) {
this.name = name;
- setAsParentNodeOf(this.name);
+ setAsParentNodeOf(this.name);
+ return this;
}
- public void setParameters(final List<Parameter> parameters) {
- this.parameters = parameters;
- setAsParentNodeOf(this.parameters);
- }
-
- public void setThrows(final List<ReferenceType> throws_) {
- this.throws_ = throws_;
- setAsParentNodeOf(this.throws_);
- }
+ public MethodDeclaration setParameters(final List<Parameter> parameters) {
+ this.parameters = parameters;
+ setAsParentNodeOf(this.parameters);
+ return this;
+ }
- @Override
- public void setType(final Type type) {
- this.type = type;
- setAsParentNodeOf(this.type);
- }
+ public MethodDeclaration setThrows(final List<ReferenceType> throws_) {
+ this.throws_ = throws_;
+ setAsParentNodeOf(this.throws_);
+ return this;
+ }
- public void setTypeParameters(final List<TypeParameter> typeParameters) {
- this.typeParameters = typeParameters;
- setAsParentNodeOf(typeParameters);
- }
+ @Override
+ public MethodDeclaration setType(final Type type) {
+ this.type = type;
+ setAsParentNodeOf(this.type);
+ return this;
+ }
+ public MethodDeclaration setTypeParameters(final List<TypeParameter> typeParameters) {
+ this.typeParameters = typeParameters;
+ setAsParentNodeOf(typeParameters);
+ return this;
+ }
public boolean isDefault() {
return isDefault;
}
- public void setDefault(boolean isDefault) {
+ public MethodDeclaration setDefault(boolean isDefault) {
this.isDefault = isDefault;
+ return this;
}
-
@Override
public String getDeclarationAsString() {
return getDeclarationAsString(true, true, true);
@@ -234,35 +254,37 @@ public final class MethodDeclaration extends BodyDeclaration implements Document
public String getDeclarationAsString(boolean includingModifiers, boolean includingThrows) {
return getDeclarationAsString(includingModifiers, includingThrows, true);
}
-
+
/**
* The declaration returned has this schema:
*
* [accessSpecifier] [static] [abstract] [final] [native]
* [synchronized] returnType methodName ([paramType [paramName]])
* [throws exceptionsList]
+ *
* @return method declaration as String
*/
@Override
- public String getDeclarationAsString(boolean includingModifiers, boolean includingThrows, boolean includingParameterName) {
+ public String getDeclarationAsString(boolean includingModifiers, boolean includingThrows,
+ boolean includingParameterName) {
StringBuilder sb = new StringBuilder();
if (includingModifiers) {
AccessSpecifier accessSpecifier = ModifierSet.getAccessSpecifier(getModifiers());
sb.append(accessSpecifier.getCodeRepresenation());
sb.append(accessSpecifier == AccessSpecifier.DEFAULT ? "" : " ");
- if (ModifierSet.isStatic(getModifiers())){
+ if (ModifierSet.isStatic(getModifiers())) {
sb.append("static ");
}
- if (ModifierSet.isAbstract(getModifiers())){
+ if (ModifierSet.isAbstract(getModifiers())) {
sb.append("abstract ");
}
- if (ModifierSet.isFinal(getModifiers())){
+ if (ModifierSet.isFinal(getModifiers())) {
sb.append("final ");
}
- if (ModifierSet.isNative(getModifiers())){
+ if (ModifierSet.isNative(getModifiers())) {
sb.append("native ");
}
- if (ModifierSet.isSynchronized(getModifiers())){
+ if (ModifierSet.isSynchronized(getModifiers())) {
sb.append("synchronized ");
}
}
@@ -272,8 +294,7 @@ public final class MethodDeclaration extends BodyDeclaration implements Document
sb.append(getName());
sb.append("(");
boolean firstParam = true;
- for (Parameter param : getParameters())
- {
+ for (Parameter param : getParameters()) {
if (firstParam) {
firstParam = false;
} else {
@@ -284,7 +305,7 @@ public final class MethodDeclaration extends BodyDeclaration implements Document
} else {
sb.append(param.getType().toStringWithoutComments());
if (param.isVarArgs()) {
- sb.append("...");
+ sb.append("...");
}
}
}
@@ -304,11 +325,11 @@ public final class MethodDeclaration extends BodyDeclaration implements Document
return sb.toString();
}
- @Override
- public JavadocComment getJavaDoc() {
- if(getComment() instanceof JavadocComment){
- return (JavadocComment) getComment();
- }
- return null;
- }
+ @Override
+ public JavadocComment getJavaDoc() {
+ if (getComment() instanceof JavadocComment) {
+ return (JavadocComment) getComment();
+ }
+ return null;
+ }
}