EA-39105 - ISE: TraceBasedRedeclarationHandler.report

Fixed:
java.lang.IllegalStateException: No declaration found found for org.jetbrains.jet.lang.descriptors.TypeParameterDescriptorImpl@...
	at org.jetbrains.jet.lang.resolve.TraceBasedRedeclarationHandler.report(TraceBasedRedeclarationHandler.java:48)
	at org.jetbrains.jet.lang.resolve.TraceBasedRedeclarationHandler.handleRedeclaration(TraceBasedRedeclarationHandler.java:39)
This commit is contained in:
Andrey Breslav
2012-11-06 14:32:54 +04:00
parent 1c19de71f1
commit 4cda4ce388
4 changed files with 13 additions and 2 deletions
@@ -530,8 +530,8 @@ public class DescriptorResolver {
JetPsiUtil.safeName(typeParameter.getName()),
index
);
extensibleScope.addTypeParameterDescriptor(typeParameterDescriptor);
trace.record(BindingContext.TYPE_PARAMETER, typeParameter, typeParameterDescriptor);
extensibleScope.addTypeParameterDescriptor(typeParameterDescriptor);
return typeParameterDescriptor;
}
@@ -45,7 +45,7 @@ public class TraceBasedRedeclarationHandler implements RedeclarationHandler {
trace.report(REDECLARATION.on(firstElement, descriptor.getName().getName()));
}
else {
throw new IllegalStateException("No declaration found found for " + descriptor);
throw new IllegalStateException("No declaration found for " + descriptor);
}
}
}
@@ -0,0 +1,6 @@
fun Pair<<!REDECLARATION, REDECLARATION!>T<!>, <!REDECLARATION, REDECLARATION!>T<!>>() {}
class P<<!REDECLARATION!>T<!>, <!REDECLARATION!>T<!>> {}
val <<!REDECLARATION, REDECLARATION, REDECLARATION!>T<!>, <!REDECLARATION, REDECLARATION, REDECLARATION!>T<!>> T.foo : Int
get() = 1
@@ -2674,6 +2674,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
doTest("compiler/testData/diagnostics/tests/redeclarations/Redeclarations.kt");
}
@TestMetadata("RedeclaredTypeParameters.kt")
public void testRedeclaredTypeParameters() throws Exception {
doTest("compiler/testData/diagnostics/tests/redeclarations/RedeclaredTypeParameters.kt");
}
}
@TestMetadata("compiler/testData/diagnostics/tests/regressions")