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<*>> =
|
internal fun ConeDiagnostic.getCandidateSymbols(): Collection<FirBasedSymbol<*>> =
|
||||||
when (this) {
|
when (this) {
|
||||||
|
is ConeHiddenCandidateError -> {
|
||||||
|
// Candidate with @Deprecated(DeprecationLevel.HIDDEN)
|
||||||
|
emptyList()
|
||||||
|
}
|
||||||
is ConeDiagnosticWithCandidates -> candidateSymbols
|
is ConeDiagnosticWithCandidates -> candidateSymbols
|
||||||
else -> emptyList()
|
else -> emptyList()
|
||||||
}
|
}
|
||||||
+18
@@ -150,6 +150,18 @@ public class ReferenceResolveTestGenerated extends AbstractReferenceResolveTest
|
|||||||
runTest("analysis/analysis-api/testData/referenceResolve/DefaultObjectInShortReferenceFormCall.kt");
|
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
|
@Test
|
||||||
@TestMetadata("EnumValues.kt")
|
@TestMetadata("EnumValues.kt")
|
||||||
public void testEnumValues() throws Exception {
|
public void testEnumValues() throws Exception {
|
||||||
@@ -270,6 +282,12 @@ public class ReferenceResolveTestGenerated extends AbstractReferenceResolveTest
|
|||||||
runTest("analysis/analysis-api/testData/referenceResolve/InVaragReferenceInNamedParameter.kt");
|
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
|
@Test
|
||||||
@TestMetadata("JavaAnnotationParameter.kt")
|
@TestMetadata("JavaAnnotationParameter.kt")
|
||||||
public void testJavaAnnotationParameter() throws Exception {
|
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