[Analysis API FIR] fix member scope for enum entries without body
This commit is contained in:
+2
-2
@@ -71,8 +71,8 @@ internal class KtFirScopeProvider(
|
||||
}
|
||||
is KtFirEnumEntrySymbol -> {
|
||||
firSymbol.ensureResolved(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE)
|
||||
val initializer = firSymbol.fir.initializer
|
||||
check(initializer is FirAnonymousObjectExpression) { "Unexpected enum entry initializer: ${initializer?.javaClass}" }
|
||||
val initializer = firSymbol.fir.initializer ?: return null
|
||||
check(initializer is FirAnonymousObjectExpression) { "Unexpected enum entry initializer: ${initializer.javaClass}" }
|
||||
body(initializer.anonymousObject)
|
||||
}
|
||||
else -> error { "Unknown KtSymbolWithDeclarations implementation ${this::class.qualifiedName}" }
|
||||
|
||||
+12
@@ -46,6 +46,18 @@ public class FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated ex
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/scopes/memberScopeByFqName"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("emumEntryWithoutMembers.kt")
|
||||
public void testEmumEntryWithoutMembers() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/emumEntryWithoutMembers.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("enumEntry.kt")
|
||||
public void testEnumEntry() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/enumEntry.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("Int.kt")
|
||||
public void testInt() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user