mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
generics dependency on raw type (IDEA-146395)
This commit is contained in:
@@ -118,7 +118,12 @@ class TypeCorrector extends PsiTypeMapper {
|
||||
private PsiSubstitutor mapSubstitutor(PsiClass originalClass, PsiClass mappedClass, PsiSubstitutor substitutor) {
|
||||
PsiTypeParameter[] typeParameters = mappedClass.getTypeParameters();
|
||||
PsiTypeParameter[] originalTypeParameters = originalClass.getTypeParameters();
|
||||
if (typeParameters.length != originalTypeParameters.length) return substitutor;
|
||||
if (typeParameters.length != originalTypeParameters.length) {
|
||||
if (originalTypeParameters.length == 0) {
|
||||
return JavaPsiFacade.getElementFactory(mappedClass.getProject()).createRawSubstitutor(mappedClass);
|
||||
}
|
||||
return substitutor;
|
||||
}
|
||||
|
||||
Map<PsiTypeParameter, PsiType> substitutionMap = substitutor.getSubstitutionMap();
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package p;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class Bar {
|
||||
public static Map get() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package p;
|
||||
import java.util.Map;
|
||||
class Foo {
|
||||
{
|
||||
Map<String, String> m = Bar.get();
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@ import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.testFramework.IdeaTestCase;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.UsefulTestCase;
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||
@@ -165,6 +164,14 @@ public class MultipleJdksHighlightingTest extends UsefulTestCase {
|
||||
doTest3Modules();
|
||||
}
|
||||
|
||||
public void testRawAssignmentToGenerics() throws Exception {
|
||||
ModuleRootModificationUtil.addDependency(myJava7Module, myJava3Module);
|
||||
final String name = getTestName(false);
|
||||
myFixture.copyFileToProject("java3/p/" + name + ".java");
|
||||
myFixture.configureByFiles("java7/p/" + name + ".java");
|
||||
myFixture.checkHighlighting();
|
||||
}
|
||||
|
||||
public void testCloseableAutoCloseable() {
|
||||
IdeaTestUtil.setModuleLanguageLevel(myJava7Module, LanguageLevel.JDK_1_7);
|
||||
ModuleRootModificationUtil.addDependency(myJava7Module, myJava3Module);
|
||||
|
||||
Reference in New Issue
Block a user