From a2221d5c29894ea4e9a9999a0614fe72c768d4a7 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Sat, 19 Jul 2014 15:31:04 +0400 Subject: [PATCH] IDEA-126334 Correct declaration scope for light parameters and getReturnTypeElementGroovy for light methods --- .../lang/psi/impl/synthetic/GrLightMethodBuilder.java | 6 +++++- .../psi/impl/synthetic/GrLightParameterListBuilder.java | 4 ++-- .../groovy/lang/psi/impl/synthetic/GrMethodWrapper.java | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightMethodBuilder.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightMethodBuilder.java index 6dcdb2a25ccc..309f7f43a1f1 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightMethodBuilder.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightMethodBuilder.java @@ -200,7 +200,11 @@ public class GrLightMethodBuilder extends LightElement implements GrMethod, Ori @Override public GrTypeElement getReturnTypeElementGroovy() { - return null; + PsiType returnType = getReturnType(); + if (returnType == null) { + return null; + } + return new GrLightTypeElement(returnType, getManager()); } @Override diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightParameterListBuilder.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightParameterListBuilder.java index 409ab4df9d9c..425b4a898599 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightParameterListBuilder.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrLightParameterListBuilder.java @@ -64,9 +64,9 @@ public class GrLightParameterListBuilder extends LightElement implements GrParam return myCachedParameters; } - public void copyParameters(@NotNull PsiMethod method, PsiSubstitutor substitutor) { + public void copyParameters(@NotNull PsiMethod method, PsiSubstitutor substitutor, PsiMethod scope) { for (PsiParameter parameter : method.getParameterList().getParameters()) { - GrLightParameter p = new GrLightParameter(StringUtil.notNullize(parameter.getName()), substitutor.substitute(parameter.getType()), this); + GrLightParameter p = new GrLightParameter(StringUtil.notNullize(parameter.getName()), substitutor.substitute(parameter.getType()), scope); if (parameter instanceof GrParameter) { p.setOptional(((GrParameter)parameter).isOptional()); diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrMethodWrapper.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrMethodWrapper.java index 44da8f27928a..90605135e261 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrMethodWrapper.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrMethodWrapper.java @@ -43,7 +43,7 @@ public class GrMethodWrapper extends GrLightMethodBuilder implements PsiMirrorEl getModifierList().copyModifiers(method); - getParameterList().copyParameters(method, substitutor); + getParameterList().copyParameters(method, substitutor, this); if (method instanceof OriginInfoAwareElement) { setOriginInfo(((OriginInfoAwareElement)method).getOriginInfo());