diff options
Diffstat (limited to 'plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi')
6 files changed, 14 insertions, 10 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()); diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/elements/GrStubFileElementType.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/elements/GrStubFileElementType.java index cd516c6a02c6..8ccfe21915f8 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/elements/GrStubFileElementType.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/elements/GrStubFileElementType.java @@ -44,6 +44,7 @@ public class GrStubFileElementType extends IStubFileElementType<GrFileStub> { @Override public StubBuilder getBuilder() { return new DefaultStubBuilder() { + @NotNull @Override protected StubElement createStubForFile(@NotNull final PsiFile file) { if (file instanceof GroovyFile) { diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/index/GrFullClassNameIndex.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/index/GrFullClassNameIndex.java index 797ff3bc573d..b7b27df6e86d 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/index/GrFullClassNameIndex.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/index/GrFullClassNameIndex.java @@ -44,7 +44,7 @@ public class GrFullClassNameIndex extends IntStubIndexExtension<PsiClass> { } @Override - public Collection<PsiClass> get(final Integer integer, final Project project, final GlobalSearchScope scope) { + public Collection<PsiClass> get(@NotNull final Integer integer, @NotNull final Project project, @NotNull final GlobalSearchScope scope) { return StubIndex.getElements(getKey(), integer, project, new GrSourceFilterScope(scope), PsiClass.class); } } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/typeEnhancers/FromStringHintProcessor.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/typeEnhancers/FromStringHintProcessor.java index 6ca36c5bb70f..1af99c7647dd 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/typeEnhancers/FromStringHintProcessor.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/typeEnhancers/FromStringHintProcessor.java @@ -15,10 +15,7 @@ */ package org.jetbrains.plugins.groovy.lang.psi.typeEnhancers; -import com.intellij.psi.JavaPsiFacade; -import com.intellij.psi.PsiMethod; -import com.intellij.psi.PsiSubstitutor; -import com.intellij.psi.PsiType; +import com.intellij.psi.*; import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; @@ -49,7 +46,9 @@ public class FromStringHintProcessor extends SignatureHintProcessor { @Override public PsiType fun(String param) { try { - PsiType original = JavaPsiFacade.getElementFactory(method.getProject()).createTypeFromText(param, method); + PsiTypeParameterList typeParameterList = method.getTypeParameterList(); + PsiElement context = typeParameterList != null ? typeParameterList : method; + PsiType original = JavaPsiFacade.getElementFactory(method.getProject()).createTypeFromText(param, context); return substitutor.substitute(original); } catch (IncorrectOperationException e) { |