diff options
author | Shaishav Gandhi <shaishgandhi@gmail.com> | 2018-10-03 19:57:36 -0700 |
---|---|---|
committer | Jesse Wilson <jesse@swank.ca> | 2018-10-03 22:57:36 -0400 |
commit | c93bfa88c30940d4f9bda88cac322ebbb83703a6 (patch) | |
tree | e2534eee6823a54973710d38f130b8668c5acae3 /src | |
parent | 527c397d2987e44c4422412b8ab3ae5bca07db06 (diff) | |
download | javapoet-c93bfa88c30940d4f9bda88cac322ebbb83703a6.tar.gz |
Check parameter Modifiers (#678)
* Check parameter modifiers for non final modifiers
Signed-off-by: shaishavgandhi05 <shaishgandhi@gmail.com>
* Add extra line
Signed-off-by: shaishavgandhi05 <shaishgandhi@gmail.com>
* Fix formatting
Signed-off-by: shaishavgandhi05 <shaishgandhi@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/squareup/javapoet/ParameterSpec.java | 3 | ||||
-rw-r--r-- | src/test/java/com/squareup/javapoet/ParameterSpecTest.java | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/ParameterSpec.java b/src/main/java/com/squareup/javapoet/ParameterSpec.java index 63da3f2..e30cb0f 100644 --- a/src/main/java/com/squareup/javapoet/ParameterSpec.java +++ b/src/main/java/com/squareup/javapoet/ParameterSpec.java @@ -160,6 +160,9 @@ public final class ParameterSpec { public Builder addModifiers(Iterable<Modifier> modifiers) { checkNotNull(modifiers, "modifiers == null"); for (Modifier modifier : modifiers) { + if (!modifier.equals(Modifier.FINAL)) { + throw new IllegalStateException("unexpected parameter modifier: " + modifier); + } this.modifiers.add(modifier); } return this; diff --git a/src/test/java/com/squareup/javapoet/ParameterSpecTest.java b/src/test/java/com/squareup/javapoet/ParameterSpecTest.java index 7ae4502..f66850b 100644 --- a/src/test/java/com/squareup/javapoet/ParameterSpecTest.java +++ b/src/test/java/com/squareup/javapoet/ParameterSpecTest.java @@ -15,6 +15,8 @@ */ package com.squareup.javapoet; +import java.util.ArrayList; +import java.util.List; import org.junit.Test; import static com.google.common.truth.Truth.assertThat; @@ -45,4 +47,18 @@ public class ParameterSpecTest { .isEqualTo("annotationSpecs == null"); } } -}
\ No newline at end of file + + @Test public void addNonFinalModifier() { + List<Modifier> modifiers = new ArrayList<>(); + modifiers.add(Modifier.FINAL); + modifiers.add(Modifier.PUBLIC); + + try { + ParameterSpec.builder(int.class, "foo").addModifiers(modifiers); + fail(); + } catch (Exception e) { + assertThat(e.getMessage()) + .isEqualTo("unexpected parameter modifier: public"); + } + } +} |