KT-15898 Cannot use type alias to qualify enum entry
Type alias static scope includes enum entries for underlying enum class.
This commit is contained in:
@@ -21729,6 +21729,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/typealias"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS, true);
|
||||
}
|
||||
|
||||
@TestMetadata("enumEntryQualifier.kt")
|
||||
public void testEnumEntryQualifier() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/typealias/enumEntryQualifier.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("genericTypeAliasConstructor.kt")
|
||||
public void testGenericTypeAliasConstructor() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/typealias/genericTypeAliasConstructor.kt");
|
||||
|
||||
@@ -123,7 +123,7 @@ public final class BindingUtils {
|
||||
if (descriptor instanceof TypeAliasDescriptor) {
|
||||
ClassDescriptor classDescriptor = ((TypeAliasDescriptor) descriptor).getClassDescriptor();
|
||||
assert classDescriptor != null : "Class descriptor must be non-null in resolved typealias: " + descriptor;
|
||||
if (classDescriptor.getKind() != ClassKind.OBJECT) {
|
||||
if (classDescriptor.getKind() != ClassKind.OBJECT && classDescriptor.getKind() != ClassKind.ENUM_CLASS) {
|
||||
classDescriptor = classDescriptor.getCompanionObjectDescriptor();
|
||||
assert classDescriptor != null : "Resolved typealias must have non-null class descriptor: " + descriptor;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user