[Analysis API FIR] implement reference resolve inside KDoc

^KTIJ-22324 fixed
This commit is contained in:
Ilya Kirillov
2022-07-26 23:38:37 +02:00
parent b210e24b43
commit d9c4fda521
86 changed files with 1856 additions and 1 deletions
@@ -0,0 +1,14 @@
class C {
class X {
class YY {
fun aa() {}
}
}
/**
* [X.YY.a<caret>a]
*/
fun g() {
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in C.X.YY) fun aa()
@@ -0,0 +1,17 @@
// COMPILATION_ERRORS
fun f() {
class C {
class X {
class YY {
fun aa() {}
}
}
/**
* [X.Y<caret>Y]
*/
fun g() {
}
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C.X) class YY
@@ -0,0 +1,17 @@
// COMPILATION_ERRORS
fun f() {
class C {
class X {
class YY {
fun aa() {}
}
}
/**
* [X.YY.a<caret>a]
*/
fun g() {
}
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C.X.YY) fun aa()
@@ -0,0 +1,14 @@
class C {
class X {
class YY {
fun aa() {}
}
}
/**
* [X.Y<caret>Y]
*/
fun g() {
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in C.X) class YY
@@ -0,0 +1,10 @@
fun f() {
class C {
/**
* [a<caret>a]
*/
fun aa() {}
fun bb() {}
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C) fun aa()
@@ -0,0 +1,10 @@
fun f() {
class C {
/**
* [a<caret>a]
*/
val aa: Int = 1
val bb: Int = 10
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C) val aa: kotlin.Int
@@ -0,0 +1,8 @@
class C {
/**
* [a<caret>a]
*/
fun aa(){}
fun bb(){}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in C) fun aa()
@@ -0,0 +1,8 @@
class C {
/**
* [a<caret>a]
*/
val aa: Int = 1
val bb: Int = 10
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in C) val aa: kotlin.Int
@@ -0,0 +1,10 @@
fun f() {
class C {
/**
* [b<caret>b]
*/
fun aa() {}
fun bb() {}
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C) fun bb()
@@ -0,0 +1,10 @@
fun f() {
class C {
/**
* [b<caret>b]
*/
fun aa() {}
val bb: Int = 10
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: f.C) val bb: kotlin.Int
@@ -0,0 +1,8 @@
class C {
/**
* [b<caret>b]
*/
fun aa(){}
val bb: Int = 10
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in C) val bb: kotlin.Int
@@ -0,0 +1,4 @@
/**
* [a<caret>a]
*/
class C(aa: Int)
@@ -0,0 +1,2 @@
Resolved to:
0: aa: kotlin.Int
@@ -0,0 +1,4 @@
/**
* [a<caret>a]
*/
class C(val aa: Int)
@@ -0,0 +1,3 @@
Resolved to:
0: (in C) val aa: kotlin.Int
1: aa: kotlin.Int
@@ -0,0 +1,4 @@
/**
* [A<caret>A]
*/
class C<AA>()
@@ -0,0 +1,2 @@
Resolved to:
0: AA
@@ -0,0 +1,11 @@
// TODO
// UNRESOLVED_REFERENCE
class C {
/**
* [a<caret>a]
*/
constructor(aa: Int){}
}
@@ -0,0 +1,2 @@
Resolved to:
0: aa: kotlin.Int
@@ -0,0 +1,6 @@
/**
* [A<caret>A]
*/
fun <AA> x() {
}
@@ -0,0 +1,2 @@
Resolved to:
0: AA
@@ -0,0 +1,6 @@
/**
* [a<caret>a]
*/
fun x(aa: Int) {
}
@@ -0,0 +1,2 @@
Resolved to:
0: aa: kotlin.Int
@@ -0,0 +1,15 @@
// FILE: a.kt
import b.*
/**
* [E.A<caret>A]
*/
fun x() {}
// FILE: b.kt
package b
enum class E {
AA, BB
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b.E) AA
@@ -0,0 +1,12 @@
// FILE: a.kt
/**
* [b.E.A<caret>A]
*/
fun x() {}
// FILE: b.kt
package b
enum class E {
AA, BB
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b.E) AA
@@ -0,0 +1,12 @@
// FILE: a.kt
/**
* [b.B.X<caret>X]
*/
fun x() {}
// FILE: b.kt
package b
class B {
class XX
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b.B) class XX
@@ -0,0 +1,15 @@
// FILE: a.kt
import b.*
/**
* [B.X<caret>X]
*/
fun x() {}
// FILE: b.kt
package b
class B {
class XX
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b.B) class XX
@@ -0,0 +1,12 @@
// FILE: a.kt
/**
* [b.B<caret>B]
*/
fun x() {}
// FILE: b.kt
package b
class BB {
class XX
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) class BB
@@ -0,0 +1,14 @@
// FILE: a.kt
import b.*
/**
* [B<caret>B]
*/
fun x() {}
// FILE: b.kt
package b
class BB {
class XX
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) class BB
@@ -0,0 +1,10 @@
// FILE: a.kt
/**
* [b.b<caret>b]
*/
fun x() {}
// FILE: b.kt
package b
fun bb(){}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) fun bb()
@@ -0,0 +1,11 @@
// FILE: a.kt
import b.*
/**
* [b<caret>b]
*/
fun x() {}
// FILE: b.kt
package b
fun bb(){}
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) fun bb()
@@ -0,0 +1,4 @@
/**
* [kotlin.LazyThreadSafetyMode.PUB<caret>LICATION]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.LazyThreadSafetyMode) PUBLICATION
@@ -0,0 +1,6 @@
import kotlin.LazyThreadSafetyMode
/**
* [LazyThreadSafetyMode.PUB<caret>LICATION]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.LazyThreadSafetyMode) PUBLICATION
@@ -0,0 +1,4 @@
/**
* [kotlin.collections.Abstr<caret>actCollection]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.collections) abstract class AbstractCollection<out E> : kotlin.collections.Collection<E>
@@ -0,0 +1,6 @@
import kotlin.collections.AbstractCollection
/**
* [Abstr<caret>actCollection]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.collections) abstract class AbstractCollection<out E> : kotlin.collections.Collection<E>
@@ -0,0 +1,4 @@
/**
* [kotlin.collections.listO<caret>f]
*/
fun x() {}
@@ -0,0 +1,4 @@
Resolved to:
0: (in kotlin.collections) fun <T> listOf(element: T): kotlin.collections.List<T>
1: (in kotlin.collections) fun <T> listOf(vararg elements: T): kotlin.collections.List<T>
2: (in kotlin.collections) inline fun <T> listOf(): kotlin.collections.List<T>
@@ -0,0 +1,6 @@
import kotlin.collections.listOf
/**
* [listO<caret>f]
*/
fun x() {}
@@ -0,0 +1,4 @@
Resolved to:
0: (in kotlin.collections) fun <T> listOf(element: T): kotlin.collections.List<T>
1: (in kotlin.collections) fun <T> listOf(vararg elements: T): kotlin.collections.List<T>
2: (in kotlin.collections) inline fun <T> listOf(): kotlin.collections.List<T>