even lazier GrClosureSignature.returnType

This commit is contained in:
peter
2010-06-25 00:55:19 +04:00
parent 47f89c9c0d
commit 4e9206b9b5
2 changed files with 8 additions and 6 deletions
@@ -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;
@@ -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) {