diff options
author | Eric Cochran <Eric@NightlyNexus.com> | 2018-03-04 04:25:01 -0800 |
---|---|---|
committer | Jesse Wilson <jesse@swank.ca> | 2018-03-04 07:25:01 -0500 |
commit | adced314c48865463594bf58022f509090eef7af (patch) | |
tree | 05358ae2abd6945c95ee4dc2541a1fd5522d599f /src/main/java/com | |
parent | ee82208f4bc086e0b1334445f600789879fc7a78 (diff) | |
download | javapoet-adced314c48865463594bf58022f509090eef7af.tar.gz |
Use contextual type parameters for throws types. (#625)
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/squareup/javapoet/MethodSpec.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/squareup/javapoet/MethodSpec.java b/src/main/java/com/squareup/javapoet/MethodSpec.java index 67a7fb2..453d64d 100644 --- a/src/main/java/com/squareup/javapoet/MethodSpec.java +++ b/src/main/java/com/squareup/javapoet/MethodSpec.java @@ -243,6 +243,7 @@ public final class MethodSpec { ExecutableElement method, DeclaredType enclosing, Types types) { ExecutableType executableType = (ExecutableType) types.asMemberOf(enclosing, method); List<? extends TypeMirror> resolvedParameterTypes = executableType.getParameterTypes(); + List<? extends TypeMirror> resolvedThrownTypes = executableType.getThrownTypes(); TypeMirror resolvedReturnType = executableType.getReturnType(); Builder builder = overriding(method); @@ -252,6 +253,10 @@ public final class MethodSpec { TypeName type = TypeName.get(resolvedParameterTypes.get(i)); builder.parameters.set(i, parameter.toBuilder(type, parameter.name).build()); } + builder.exceptions.clear(); + for (int i = 0, size = resolvedThrownTypes.size(); i < size; i++) { + builder.addException(TypeName.get(resolvedThrownTypes.get(i))); + } return builder; } |