Analysis API: Don't resolve references to @Deprecated(HIDDEN)
declarations.
This commit is contained in:
committed by
TeamCityServer
parent
41a1fa25e2
commit
7425986bf0
@@ -47,6 +47,10 @@ internal fun FirNamedReference.getCandidateSymbols(): Collection<FirBasedSymbol<
|
||||
|
||||
internal fun ConeDiagnostic.getCandidateSymbols(): Collection<FirBasedSymbol<*>> =
|
||||
when (this) {
|
||||
is ConeHiddenCandidateError -> {
|
||||
// Candidate with @Deprecated(DeprecationLevel.HIDDEN)
|
||||
emptyList()
|
||||
}
|
||||
is ConeDiagnosticWithCandidates -> candidateSymbols
|
||||
else -> emptyList()
|
||||
}
|
||||
+18
@@ -150,6 +150,18 @@ public class ReferenceResolveTestGenerated extends AbstractReferenceResolveTest
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/DefaultObjectInShortReferenceFormCall.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("Deprecated.kt")
|
||||
public void testDeprecated() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/Deprecated.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("DeprecatedHidden.kt")
|
||||
public void testDeprecatedHidden() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/DeprecatedHidden.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("EnumValues.kt")
|
||||
public void testEnumValues() throws Exception {
|
||||
@@ -270,6 +282,12 @@ public class ReferenceResolveTestGenerated extends AbstractReferenceResolveTest
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/InVaragReferenceInNamedParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("InvisibleMember.kt")
|
||||
public void testInvisibleMember() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/referenceResolve/InvisibleMember.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("JavaAnnotationParameter.kt")
|
||||
public void testJavaAnnotationParameter() throws Exception {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
@Deprecated("don't use i")
|
||||
val i: Int = 1
|
||||
|
||||
fun test() {
|
||||
<caret>i
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
0: (in ROOT) val i: kotlin.Int
|
||||
@@ -0,0 +1,8 @@
|
||||
// UNRESOLVED_REFERENCE
|
||||
|
||||
@Deprecated("don't use i", level = DeprecationLevel.HIDDEN)
|
||||
val i: Int = 1
|
||||
|
||||
fun test() {
|
||||
<caret>i
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
class A {
|
||||
private val i: Int = 1
|
||||
}
|
||||
|
||||
fun test(a: A) {
|
||||
a.<caret>i
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
Resolved to:
|
||||
0: (in A) private val i: kotlin.Int
|
||||
Reference in New Issue
Block a user