diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-08-18 23:43:17 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-08-18 23:43:17 +0200 |
commit | 07f7afe626a2f76d7c5776e0cd97b131107638be (patch) | |
tree | 7dcf205eb04727fbb9675db9c9d1d5972565a661 /src/core/lombok/eclipse/handlers | |
parent | 1dcbc161c403f62eed87603ce79f8bf2f266b778 (diff) | |
download | lombok-07f7afe626a2f76d7c5776e0cd97b131107638be.tar.gz lombok-07f7afe626a2f76d7c5776e0cd97b131107638be.tar.bz2 lombok-07f7afe626a2f76d7c5776e0cd97b131107638be.zip |
Bugfix in eclipse handler for toBuilder(); using a method that older versions of eclipse don’t have yet.
Diffstat (limited to 'src/core/lombok/eclipse/handlers')
-rw-r--r-- | src/core/lombok/eclipse/handlers/HandleBuilder.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandleBuilder.java b/src/core/lombok/eclipse/handlers/HandleBuilder.java index 2ef888fe..ef06e249 100644 --- a/src/core/lombok/eclipse/handlers/HandleBuilder.java +++ b/src/core/lombok/eclipse/handlers/HandleBuilder.java @@ -251,7 +251,13 @@ public class HandleBuilder extends EclipseAnnotationHandler<Builder> { TypeParameter[] tpOnType = ((TypeDeclaration) tdParent.get()).typeParameters; TypeParameter[] tpOnMethod = md.typeParameters; - TypeReference[][] tpOnRet_ = md.returnType.getTypeArguments(); + TypeReference[][] tpOnRet_ = null; + if (md.returnType instanceof ParameterizedSingleTypeReference) { + tpOnRet_ = new TypeReference[1][]; + tpOnRet_[0] = ((ParameterizedSingleTypeReference) md.returnType).typeArguments; + } else if (md.returnType instanceof ParameterizedQualifiedTypeReference) { + tpOnRet_ = ((ParameterizedQualifiedTypeReference) md.returnType).typeArguments; + } if (tpOnRet_ != null) for (int i = 0; i < tpOnRet_.length - 1; i++) { if (tpOnRet_[i] != null && tpOnRet_[i].length > 0) { |