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:
@@ -530,8 +530,8 @@ public class DescriptorResolver {
|
|||||||
JetPsiUtil.safeName(typeParameter.getName()),
|
JetPsiUtil.safeName(typeParameter.getName()),
|
||||||
index
|
index
|
||||||
);
|
);
|
||||||
extensibleScope.addTypeParameterDescriptor(typeParameterDescriptor);
|
|
||||||
trace.record(BindingContext.TYPE_PARAMETER, typeParameter, typeParameterDescriptor);
|
trace.record(BindingContext.TYPE_PARAMETER, typeParameter, typeParameterDescriptor);
|
||||||
|
extensibleScope.addTypeParameterDescriptor(typeParameterDescriptor);
|
||||||
return typeParameterDescriptor;
|
return typeParameterDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -45,7 +45,7 @@ public class TraceBasedRedeclarationHandler implements RedeclarationHandler {
|
|||||||
trace.report(REDECLARATION.on(firstElement, descriptor.getName().getName()));
|
trace.report(REDECLARATION.on(firstElement, descriptor.getName().getName()));
|
||||||
}
|
}
|
||||||
else {
|
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");
|
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")
|
@TestMetadata("compiler/testData/diagnostics/tests/regressions")
|
||||||
|
|||||||
Reference in New Issue
Block a user