IDEA-126389 FromString ClosureParams Hint should use method.getTypeParametersList() as a context for creating type because method does not process its type parameters in processDeclarations()

This commit is contained in:
Max Medvedev
2014-07-19 14:01:58 +04:00
parent b43f06c660
commit 5ccb8728b3
2 changed files with 13 additions and 1 deletions
@@ -49,7 +49,7 @@ public class FromStringHintProcessor extends SignatureHintProcessor {
@Override
public PsiType fun(String param) {
try {
PsiType original = JavaPsiFacade.getElementFactory(method.getProject()).createTypeFromText(param, method);
PsiType original = JavaPsiFacade.getElementFactory(method.getProject()).createTypeFromText(param, method.getTypeParameterList());
return substitutor.substitute(original);
}
catch (IncorrectOperationException e) {
@@ -15,6 +15,7 @@
*/
package org.jetbrains.plugins.groovy.lang.resolve
import com.intellij.psi.PsiMethod
import com.intellij.testFramework.LightProjectDescriptor
import org.jetbrains.plugins.groovy.GroovyLightProjectDescriptor
@@ -205,4 +206,15 @@ class Thing {
}
void testClosureParamsUsingGenerics() {
doTest("""\
import groovy.transform.CompileStatic
@CompileStatic
class Idea {
public static void main(String[] args) {
["bc", "a", ].sort { i<caret>t.size() }
}
}""", "java.lang.String")
}
}