groovy method's return type shouldn't be null (IDEA-50536)

This commit is contained in:
peter
2010-02-03 16:56:41 +00:00
parent 34853b73e1
commit 17f57e7ad4
2 changed files with 8 additions and 6 deletions
@@ -156,7 +156,12 @@ public abstract class GrMethodBaseImpl<T extends NamedStub> extends GroovyBaseEl
PsiType nominal = getNominalType(method);
if (nominal != null && nominal.equals(PsiType.VOID)) return nominal;
PsiType inferred = getInferredType(method);
if (nominal == null) return inferred;
if (nominal == null) {
if (inferred == null) {
return PsiType.getJavaLangObject(PsiManager.getInstance(method.getProject()), method.getResolveScope());
}
return inferred;
}
if (inferred != null && inferred != PsiType.NULL) {
if (nominal.isAssignableFrom(inferred)) return inferred;
}
@@ -16,10 +16,6 @@
package org.jetbrains.plugins.groovy.lang.resolve;
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiReference
import com.intellij.psi.util.PropertyUtil
import org.jetbrains.plugins.groovy.GroovyFileType
import org.jetbrains.plugins.groovy.lang.psi.GrReferenceElement
@@ -34,6 +30,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrEn
import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod
import org.jetbrains.plugins.groovy.lang.psi.api.toplevel.GrTopStatement
import org.jetbrains.plugins.groovy.util.TestUtils
import com.intellij.psi.*
/**
* @author ven
@@ -154,7 +151,7 @@ public class ResolvePropertyTest extends GroovyResolveTestCase {
PsiReference ref = configureByFile("recursive2/A.groovy");
PsiElement resolved = ref.resolve();
assertTrue(resolved instanceof GrMethod);
assertNull(((GrMethod) resolved).getReturnType());
assertEquals(CommonClassNames.JAVA_LANG_OBJECT, ((GrMethod) resolved).returnType.canonicalText);
}
public void testNotAField() throws Exception {