diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitMethod.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitMethod.java index 11c3c3aa4aad..6c7bb83c18c2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitMethod.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitMethod.java @@ -143,11 +143,11 @@ public class GrDynamicImplicitMethod extends LightElement implements PsiMethod, } public PsiType getReturnType() { - final PsiType typeElement = myMethod.getReturnType(); - if (typeElement == null) { + final PsiType type = myMethod.getReturnType(); + if (type == null || type instanceof PsiClassType && ((PsiClassType)type).resolve() == null) { return TypesUtil.getJavaLangObject(myMethod); } - return typeElement; + return type; } public PsiTypeElement getReturnTypeElement() { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitProperty.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitProperty.java index 64b694be8cea..46fc0fa4c5fd 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitProperty.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/GrDynamicImplicitProperty.java @@ -192,4 +192,14 @@ public class GrDynamicImplicitProperty extends GrImplicitVariableImpl implements public void setInitializer(@Nullable PsiExpression initializer) throws IncorrectOperationException { throw new IncorrectOperationException(); } + + @NotNull + @Override + public PsiType getType() { + PsiType type = super.getType(); + if (type instanceof PsiClassType && ((PsiClassType)type).resolve() == null) { + return PsiType.getJavaLangObject(myManager, getResolveScope()); + } + return type; + } }