diff options
author | Shaishav Gandhi <shaishgandhi@gmail.com> | 2019-02-04 07:06:39 -0800 |
---|---|---|
committer | Egor Andreevich <andreevich.egor@gmail.com> | 2019-02-04 10:06:39 -0500 |
commit | 53cfc840f2b860e88e8b0aecd7026901ee76399e (patch) | |
tree | c4474999a672be218705475269642872bae49b6e | |
parent | 791cb9631ab76fc07bf8825f23464ecd616acccc (diff) | |
download | javapoet-53cfc840f2b860e88e8b0aecd7026901ee76399e.tar.gz |
Allow setting method name on MethodSpec.Builder (#702)
* Allow setting method name on MethodSpec.Builder
* Fix indentation
-rw-r--r-- | src/main/java/com/squareup/javapoet/MethodSpec.java | 7 | ||||
-rw-r--r-- | src/test/java/com/squareup/javapoet/MethodSpecTest.java | 13 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/MethodSpec.java b/src/main/java/com/squareup/javapoet/MethodSpec.java index 0bfdd1b..850e537 100644 --- a/src/main/java/com/squareup/javapoet/MethodSpec.java +++ b/src/main/java/com/squareup/javapoet/MethodSpec.java @@ -292,7 +292,7 @@ public final class MethodSpec { } public static final class Builder { - private final String name; + private String name; private final CodeBlock.Builder javadoc = CodeBlock.builder(); private final List<AnnotationSpec> annotations = new ArrayList<>(); @@ -306,11 +306,16 @@ public final class MethodSpec { private CodeBlock defaultValue; private Builder(String name) { + setName(name); + } + + public Builder setName(String name) { checkNotNull(name, "name == null"); checkArgument(name.equals(CONSTRUCTOR) || SourceVersion.isName(name), "not a valid name: %s", name); this.name = name; this.returnType = name.equals(CONSTRUCTOR) ? null : TypeName.VOID; + return this; } public Builder addJavadoc(String format, Object... args) { diff --git a/src/test/java/com/squareup/javapoet/MethodSpecTest.java b/src/test/java/com/squareup/javapoet/MethodSpecTest.java index c6e05c6..b2c7106 100644 --- a/src/test/java/com/squareup/javapoet/MethodSpecTest.java +++ b/src/test/java/com/squareup/javapoet/MethodSpecTest.java @@ -37,6 +37,7 @@ import org.junit.Test; import static com.google.common.collect.Iterables.getOnlyElement; import static com.google.common.truth.Truth.assertThat; +import static com.squareup.javapoet.MethodSpec.CONSTRUCTOR; import static javax.lang.model.util.ElementFilter.methodsIn; import static org.junit.Assert.fail; @@ -355,4 +356,16 @@ public final class MethodSpecTest { assertThat(e.getMessage()).isEqualTo("modifiers == null"); } } + + @Test public void modifyMethodName() { + MethodSpec methodSpec = MethodSpec.methodBuilder("initialMethod") + .build() + .toBuilder() + .setName("revisedMethod") + .build(); + + assertThat(methodSpec.toString()).isEqualTo("" + + "void revisedMethod() {\n" + + "}\n"); + } } |