Analysis API: move reference resolve testsdata with errors to dedicated folders

This commit is contained in:
Ilya Kirillov
2022-01-26 10:56:43 +01:00
parent 1a2de65421
commit 4530041cbb
74 changed files with 335 additions and 465 deletions
@@ -0,0 +1,10 @@
package testing
annotation class Annotation<T>(val clazz: Class<T>)
class ATest
class A<T>
@[Annotation<ATest>(A<<caret>ATest>())]
class BTest
@@ -0,0 +1,2 @@
Resolved to:
0: (in testing) class ATest
@@ -0,0 +1,7 @@
class Foo
class C {
val prop: <caret>Foo.
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in ROOT) class Foo
@@ -0,0 +1,2 @@
val abc = <caret>[1, 2, 3]
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin) inline fun <reified T> arrayOf(vararg elements: T): kotlin.Array<T>
@@ -0,0 +1,2 @@
val abc: IntArray = [1, 2, 3<caret>]
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin) fun intArrayOf(vararg elements: kotlin.Int): kotlin.IntArray
@@ -0,0 +1,15 @@
class Controller {
suspend fun suspendHere(x: Continuation<Unit>) {
}
}
fun builder(coroutine c: Controller.() -> Continuation<Unit>) {
}
fun foo() {
builder {
<caret>suspendHere()
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in Controller) suspend fun suspendHere(x: `Continuation<R|kotlin/Unit|>`)
@@ -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,15 @@
// UNRESOLVED_REFERENCE
// FILE: main.kt
import java.lang.* // will not import Fake
fun foo() {
<caret>Fake()
}
// FILE: java.java
class java {
class lang {
class Fake()
}
}
@@ -0,0 +1,14 @@
// UNRESOLVED_REFERENCE
// FILE: main.kt
fun foo() {
<caret>Fake() // not imported within "java.lang.*" default import
}
// FILE: java.java
class java {
class lang {
class Fake()
}
}
@@ -0,0 +1,15 @@
// UNRESOLVED_REFERENCE
// FILE: main.kt
package nonRoot
import java.lang.*
fun foo() {
<caret>Fake()
}
// FILE: java.java
class java {
class lang {
class Fake()
}
}
@@ -0,0 +1,15 @@
// UNRESOLVED_REFERENCE
// FILE: main.kt
package nonRoot
fun foo() {
java.lang.<caret>Fake() // qualification doesn't help, because we are in other package
}
// FILE: java.java
class java {
class lang {
class Fake()
}
}
@@ -0,0 +1,10 @@
package test
class A
object b {
class object {
val x = <caret>A()
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in test.A) constructor()
@@ -0,0 +1,14 @@
package test
class A
class Many {
companion object {
val x = A()
}
companion object {
val y = <caret>A()
}
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in test.A) constructor()
@@ -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
@@ -0,0 +1,8 @@
// Should not fall on temp references in invalid code
// UNRESOLVED_REFERENCE
object Testing {
companion object {
@<caret>va
}
}
@@ -0,0 +1,6 @@
class Test<T>
// The lack of `()` in the constructor call is intentional. The addition of type arguments is also needed so we have a KtCallExpression.
// We want to test finding the symbol for a FirResolvedQualifier (and not a FirFunctionCall) whose source is a KtCallExpression
// (and not a KtSimpleNameExpression).
val t = <caret>Test<Int>
@@ -0,0 +1,2 @@
Resolved to:
0: (in ROOT) class Test<T>
@@ -0,0 +1,10 @@
package test
class Conflict
fun testFoo() {
class Conflict
<caret>Conflict
}
@@ -0,0 +1,2 @@
Resolved to:
0: (in <local>: testFoo) class Conflict
@@ -0,0 +1,10 @@
// IGNORE_FIR
class Generic<T>
class C {
val prop: Generic<<caret>Foo>.
}
class Foo
@@ -0,0 +1,2 @@
Resolved to:
0: (in ROOT) class Generic<T>
@@ -0,0 +1,2 @@
val v: UnknownClass<<caret>String>
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type>
@@ -0,0 +1,2 @@
val v: UnknownClass<<caret>String>()
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type>
@@ -0,0 +1,4 @@
class Foo<T, V>
class Bar: Foo<<caret>String
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin) class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, ERROR_TYPE <Unresolved type>
@@ -0,0 +1,9 @@
package foo
class A
class C<T>
class C1<T>
val v1 = C<C1<A, <caret>A>>()
@@ -0,0 +1,2 @@
Resolved to:
0: (in foo) class A
@@ -0,0 +1,9 @@
package foo
class A
class C<T>
class C2<T1, T2>
val v1 = C<C2<<caret>A>>()
@@ -0,0 +1,2 @@
Resolved to:
0: (in foo) class A
@@ -0,0 +1,9 @@
package foo
class CC<T>
class DD<T, T2>
val v1 = D<caret>D<CC>
@@ -0,0 +1,2 @@
Resolved to:
0: (in foo) class DD<T, T2>
@@ -0,0 +1,9 @@
package foo
class CC<T>
class DD<T, T2>
val v1 = DD<C<caret>C>
@@ -0,0 +1,2 @@
Resolved to:
0: (in foo) class CC<T>
@@ -0,0 +1,9 @@
package foo
class A
class C<T>
class C1<T>
class D: C<C1<A, <caret>A>>()
@@ -0,0 +1,2 @@
Resolved to:
0: (in foo) class A