[FIR IDE] Fix invalid reference resolve for null safety operator

This commit is contained in:
Igor Yakovlev
2021-08-11 21:35:58 +02:00
parent 0a5dee567e
commit ed0bfabc51
4 changed files with 13 additions and 1 deletions
@@ -70,7 +70,6 @@ internal open class FirElementsRecorder : FirVisitor<Unit, MutableMap<KtElement,
override fun visitReference(reference: FirReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitControlFlowGraphReference(controlFlowGraphReference: FirControlFlowGraphReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitNamedReference(namedReference: FirNamedReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitBackingFieldReference(backingFieldReference: FirBackingFieldReference, data: MutableMap<KtElement, FirElement>) {}
override fun visitSuperReference(superReference: FirSuperReference, data: MutableMap<KtElement, FirElement>) {}
@@ -0,0 +1,5 @@
class A(val aa: A?)
fun f(a: A) {
val x = a?.a<caret>a
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in A) val aa: A?
@@ -1087,6 +1087,12 @@ public class ReferenceResolveTestGenerated extends AbstractReferenceResolveTest
runTest("idea/idea-frontend-fir/testData/referenceResolve/qualifiedAccess/callableReference3.kt");
}
@Test
@TestMetadata("nullSafeCallExpression.kt")
public void testNullSafeCallExpression() throws Exception {
runTest("idea/idea-frontend-fir/testData/referenceResolve/qualifiedAccess/nullSafeCallExpression.kt");
}
@Test
@TestMetadata("ResolveFirstPackageOfFullyQualifiedReference.kt")
public void testResolveFirstPackageOfFullyQualifiedReference() throws Exception {