FIR: avoid resolve loop between accessor and other members
#KT-48634 Fixed
This commit is contained in:
committed by
teamcityserver
parent
72fa330576
commit
19a75b31f9
+1
-1
@@ -60,7 +60,7 @@ internal object DeclarationCopyBuilder {
|
||||
setter = copySetter
|
||||
|
||||
if (propertyResolvePhase < FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE) {
|
||||
initializerAndAccessorsAreResolved = false
|
||||
bodyResolveState = FirPropertyBodyResolveState.NOTHING_RESOLVED
|
||||
}
|
||||
|
||||
initDeclaration(this@withBodyFrom, propertyWithBody)
|
||||
|
||||
+1
-1
@@ -200,7 +200,7 @@ internal class ReanalyzablePropertyStructureElement(
|
||||
getter?.replaceResolvePhase(upgradedPhase)
|
||||
setter?.replaceResolvePhase(upgradedPhase)
|
||||
replaceResolvePhase(upgradedPhase)
|
||||
replaceInitializerAndAccessorsAreResolved(false)
|
||||
replaceBodyResolveState(FirPropertyBodyResolveState.NOTHING_RESOLVED)
|
||||
}
|
||||
|
||||
val resolvedDeclaration = firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
|
||||
+6
@@ -5034,6 +5034,12 @@ public class DiagnosisCompilerFirTestdataTestGenerated extends AbstractDiagnosis
|
||||
@TestMetadata("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Intellij {
|
||||
@Test
|
||||
@TestMetadata("accessInSetter.kt")
|
||||
public void testAccessInSetter() throws Exception {
|
||||
runTest("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij/accessInSetter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllFilesPresentInIntellij() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/analysis-tests/testData/resolveWithStdlib/intellij"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
|
||||
|
||||
Reference in New Issue
Block a user