Add tests for lookups to enum static scope and to companion object scope
Original commit: 04fed203e4
This commit is contained in:
@@ -26,6 +26,7 @@ import java.io.File
|
||||
import java.util.*
|
||||
|
||||
private val DECLARATION_KEYWORDS = listOf("interface", "class", "enum class", "object", "fun", "val", "var")
|
||||
private val DECLARATION_STARTS_WITH = DECLARATION_KEYWORDS.map { it + " " }
|
||||
|
||||
abstract class AbstractLookupTrackerTest : AbstractIncrementalJpsTest(
|
||||
allowNoFilesWithSuffixInTestData = true,
|
||||
@@ -74,7 +75,7 @@ abstract class AbstractLookupTrackerTest : AbstractIncrementalJpsTest(
|
||||
when {
|
||||
rest.startsWith(it.name) || // same name
|
||||
rest.startsWith("$" + it.name) || // backing field
|
||||
DECLARATION_KEYWORDS.any { w -> rest.startsWith(w) } // it's declaration
|
||||
DECLARATION_STARTS_WITH.any { rest.startsWith(it) } // it's declaration
|
||||
-> ""
|
||||
else -> "(" + it.name + ")"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Compiling files:
|
||||
src/bar.kt
|
||||
src/constraints.kt
|
||||
src/foo.kt
|
||||
src/usages.kt
|
||||
End of files
|
||||
COMPILATION FAILED
|
||||
Unresolved reference: vala
|
||||
Unresolved reference: vara
|
||||
Unresolved reference: foo
|
||||
Unresolved reference: bar
|
||||
@@ -18,6 +18,9 @@ import bar.*
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/A./*c:foo.A c:foo.A.Companion*/Companion./*c:foo.A.Companion*/baz()
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/A./*c:foo.A*/O
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/A./*c:foo.A c:foo.A.Companion*/O./*c:foo.A.O*/v = "OK"
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/A./*c:foo.A c:foo.A.Companion p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io c:foo.A.Companion(getVala) c:foo.A.Companion(getVALA)*/vala
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/A./*c:foo.A c:foo.A.Companion p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io c:foo.A.Companion(getVara) c:foo.A.Companion(getVARA)*/vara()
|
||||
|
||||
i./*c:foo.I*/a = 2
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/Obj./*c:foo.Obj*/a
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/Obj./*c:foo.Obj*/foo()
|
||||
@@ -27,9 +30,15 @@ import bar.*
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/Obj./*c:foo.Obj*/b
|
||||
val iii = /*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/Obj./*c:foo.Obj*/bar()
|
||||
iii./*c:foo.I*/foo()
|
||||
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/X
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/X./*c:foo.E*/a
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/Y./*c:foo.E*/foo()
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/values
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/values()
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/valueOf("")
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/foo
|
||||
/*p:foo p:bar p:java.lang p:kotlin p:kotlin.annotation p:kotlin.jvm p:kotlin.io*/E./*c:foo.E*/bar()
|
||||
}
|
||||
|
||||
/*p:foo*/fun classifiers(
|
||||
|
||||
Reference in New Issue
Block a user