diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureImpl.java index 00e6099e5cca..c6fd2f5b186f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureImpl.java @@ -53,10 +53,6 @@ public class GrClosureSignatureImpl implements GrClosureSignature { this(parameters, returnType, PsiSubstitutor.EMPTY); } - public GrClosureSignatureImpl(@NotNull PsiMethod method, @NotNull PsiSubstitutor substitutor) { - this(method.getParameterList().getParameters(), PsiUtil.getSmartReturnType(method), substitutor); - } - GrClosureSignatureImpl(@NotNull GrClosureParameter[] params, @Nullable PsiType returnType, boolean isVarArgs) { myParameters = params; myReturnType = returnType; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java index 8da4feedc7a6..0d47ff121f71 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java @@ -35,6 +35,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureParameter; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureSignature; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; +import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; import java.util.ArrayList; import java.util.Arrays; @@ -57,8 +58,13 @@ public class GrClosureSignatureUtil { }; } - public static GrClosureSignature createSignature(PsiMethod method, PsiSubstitutor substitutor) { - return new GrClosureSignatureImpl(method, substitutor); + public static GrClosureSignature createSignature(final PsiMethod method, PsiSubstitutor substitutor) { + return new GrClosureSignatureImpl(method.getParameterList().getParameters(), null, substitutor) { + @Override + public PsiType getReturnType() { + return PsiUtil.getSmartReturnType(method); + } + }; } public static GrClosureSignature createSignature(PsiParameter[] parameters, PsiType returnType) {