FIR IDE: add AbstractKeywordCompletionTest

This commit is contained in:
Ilya Kirillov
2021-05-11 18:00:22 +02:00
committed by TeamCityServer
parent 96117fc1eb
commit f8fc43f1e9
104 changed files with 731 additions and 0 deletions
@@ -47,6 +47,7 @@ import org.jetbrains.kotlin.idea.codeInsight.moveUpDown.AbstractMoveStatementTes
import org.jetbrains.kotlin.idea.codeInsight.postfix.AbstractPostfixTemplateProviderTest import org.jetbrains.kotlin.idea.codeInsight.postfix.AbstractPostfixTemplateProviderTest
import org.jetbrains.kotlin.idea.codeInsight.surroundWith.AbstractSurroundWithTest import org.jetbrains.kotlin.idea.codeInsight.surroundWith.AbstractSurroundWithTest
import org.jetbrains.kotlin.idea.codeInsight.unwrap.AbstractUnwrapRemoveTest import org.jetbrains.kotlin.idea.codeInsight.unwrap.AbstractUnwrapRemoveTest
import org.jetbrains.kotlin.idea.completion.AbstractFirKeywordCompletionTest
import org.jetbrains.kotlin.idea.completion.AbstractHighLevelJvmBasicCompletionTest import org.jetbrains.kotlin.idea.completion.AbstractHighLevelJvmBasicCompletionTest
import org.jetbrains.kotlin.idea.completion.AbstractHighLevelMultiFileJvmBasicCompletionTest import org.jetbrains.kotlin.idea.completion.AbstractHighLevelMultiFileJvmBasicCompletionTest
import org.jetbrains.kotlin.idea.completion.test.* import org.jetbrains.kotlin.idea.completion.test.*
@@ -1226,6 +1227,10 @@ fun main(args: Array<String>) {
testClass<AbstractHighLevelMultiFileJvmBasicCompletionTest> { testClass<AbstractHighLevelMultiFileJvmBasicCompletionTest> {
model("basic/multifile", extension = null, recursive = false) model("basic/multifile", extension = null, recursive = false)
} }
testClass<AbstractFirKeywordCompletionTest> {
model("keywords", recursive = false)
}
} }
testGroup("idea/idea-fir/tests", "idea/testData/findUsages") { testGroup("idea/idea-fir/tests", "idea/testData/findUsages") {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class Foo <caret> { class Foo <caret> {
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class MouseMovedEventArgs class MouseMovedEventArgs
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class A { class A {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class A { class A {
fun foo() { fun foo() {
bar() bar()
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class A { class A {
fun foo() { fun foo() {
bar() bar()
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
val str : String val str : String
str.<caret> str.<caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class A { class A {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun some() { fun some() {
if (true) { if (true) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
val str : String? val str : String?
str?.<caret> str?.<caret>
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
val str : String val str : String
str. <caret> str. <caret>
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
try { try {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
try { try {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
e<caret>class A { e<caret>class A {
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class A(x: Int) { class A(x: Int) {
constructor(): <caret> constructor(): <caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
myFor@ myFor@
for (i in 1..10) { for (i in 1..10) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
Math.pow(2.0 <caret>) Math.pow(2.0 <caret>)
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class TestClass { class TestClass {
<caret> <caret>
object O {} object O {}
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int) { fun foo(p: Int) {
if (p > 0) { if (p > 0) {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int) { fun foo(p: Int) {
if (p > 0) if (p > 0)
foo() foo()
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
куе<caret> куе<caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
fun foo() { fun foo() {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int) { fun foo(p: Int) {
if (p > 0) if (p > 0)
try { try {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
annotation class Test { annotation class Test {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int) { fun foo(p: Int) {
x() x()
y() y()
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class TestClass { class TestClass {
/* <caret> */ /* <caret> */
fun test() { fun test() {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class TestClass { class TestClass {
fun test() { fun test() {
'<caret>' '<caret>'
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
public class Test { public class Test {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class Test { class Test {
val <caret> val <caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class MouseMovedEventArgs class MouseMovedEventArgs
{ {
public val X : int<caret> = 0 public val X : int<caret> = 0
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class TestClass { class TestClass {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class T<<caret>> class T<<caret>>
// EXIST: in // EXIST: in
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
<caret> <caret>
} }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun some() { fun some() {
if (true) { if (true) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
enum class Test { enum class Test {
<caret> <caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
enum class Test { enum class Test {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() = <caret> fun foo() = <caret>
// EXIST: do // EXIST: do
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun <caret>() { fun <caret>() {
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun <caret>. fun <caret>.
// NUMBER: 1 // NUMBER: 1
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
val test : <caret> val test : <caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
val prop: Int val prop: Int
get() = <caret> get() = <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun some() { fun some() {
if (true) { if (true) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
interface Test { interface Test {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
package TestData package TestData
class TestSample() { class TestSample() {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// for: KT-2170 // for: KT-2170
open class Foo { open class Foo {
p<caret> val foo = 1 p<caret> val foo = 1
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class Test<<caret> class Test<<caret>
fun testing() {} fun testing() {}
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
object Test { object Test {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int = <caret>) fun foo(p: Int = <caret>)
// EXIST: do // EXIST: do
@@ -1,3 +1,4 @@
// FIR_COMPARISON
package TestData package TestData
class TestSample(<caret>) class TestSample(<caret>)
@@ -1,3 +1,4 @@
// FIR_COMPARISON
var a : Int = <caret> var a : Int = <caret>
// EXIST: do // EXIST: do
@@ -1,3 +1,4 @@
// FIR_COMPARISON
val e.<caret> val e.<caret>
// NUMBER: 0 // NUMBER: 0
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class TestClass { class TestClass {
fun test() { fun test() {
"<caret>" "<caret>"
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun test(<caret>) { fun test(<caret>) {
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
package Test package Test
@@ -1,3 +1,4 @@
// FIR_COMPARISON
val a : <caret> val a : <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class TestClass { class TestClass {
// <caret> // <caret>
} }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
myFor@ myFor@
for (i in 1..10) { for (i in 1..10) {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
myFor@ myFor@
for (i in 1..10) { for (i in 1..10) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class C { class C {
fun foo() { fun foo() {
<caret> <caret>
@@ -1,3 +1,4 @@
// FIR_COMPARISON
P<caret> P<caret>
// NUMBER: 0 // NUMBER: 0
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
myFor@ myFor@
for (i in 1..10) { for (i in 1..10) {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(f<caret> fun foo(f<caret>
fun test() { } fun test() { }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(v: String) { fun foo(v: String) {
if (v !<caret>) if (v !<caret>)
} }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
list.filter { it !i<caret> } list.filter { it !i<caret> }
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// test that sinple prefix matching is used for keywords // test that sinple prefix matching is used for keywords
p<caret> p<caret>
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class Some { class Some {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class Some { class Some {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class Some { class Some {
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun @<caret> fun @<caret>
// EXIST: receiver // EXIST: receiver
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
takeHandler1 { takeHandler1 {
takeHandler2({ ret<caret> }) takeHandler2({ ret<caret> })
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
takeHandler1 { takeHandler1 {
takeHandler2 { <caret> } takeHandler2 { <caret> }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
takeHandler1 { takeHandler1 {
takeHandler2 { <caret> } takeHandler2 { <caret> }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
takeHandler label@ { takeHandler label@ {
<caret> <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
takeHandler label@ { takeHandler label@ {
<caret> <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
val property: Int val property: Int
get() { get() {
<caret> <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(p: Int?): Int = p ?: <caret> fun foo(p: Int?): Int = p ?: <caret>
// ABSENT: return // ABSENT: return
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
inline fun run (p: () -> Unit) {} inline fun run (p: () -> Unit) {}
fun foo() = run { fun foo() = run {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(): Collection<String> { fun foo(): Collection<String> {
ret<caret> ret<caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(): Iterable<String> { fun foo(): Iterable<String> {
ret<caret> ret<caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo() { fun foo() {
`fun` { `fun` {
`val`({ ret<caret> }) `val`({ ret<caret> })
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(): List<String> { fun foo(): List<String> {
ret<caret> ret<caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(): String { fun foo(): String {
ret<caret> ret<caret>
} }
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun<T> foo(): Set<T> { fun<T> foo(): Set<T> {
ret<caret> ret<caret>
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
seal<caret> sealed class A seal<caret> sealed class A
// ABSENT: "sealed" // ABSENT: "sealed"
// ABSENT: "sealed class" // ABSENT: "sealed class"
@@ -1,3 +1,4 @@
// FIR_COMPARISON
seal<caret> annotation class A seal<caret> annotation class A
// ABSENT: "sealed" // ABSENT: "sealed"
// ABSENT: "sealed class" // ABSENT: "sealed class"
@@ -1,2 +1,3 @@
// FIR_COMPARISON
seal<caret> data class A(val f: Int) seal<caret> data class A(val f: Int)
// ABSENT: "sealed" // ABSENT: "sealed"
@@ -1,3 +1,4 @@
// FIR_COMPARISON
seal<caret>class A seal<caret>class A
// EXIST: "sealed" // EXIST: "sealed"
// NOTHING_ELSE // NOTHING_ELSE
@@ -1,3 +1,4 @@
// FIR_COMPARISON
seal<caret>interface A seal<caret>interface A
// EXIST: "sealed" // EXIST: "sealed"
// NOTHING_ELSE // NOTHING_ELSE
@@ -1,2 +1,3 @@
// FIR_COMPARISON
seal<caret> enum class A seal<caret> enum class A
// ABSENT: "sealed" // ABSENT: "sealed"
@@ -1,3 +1,4 @@
// FIR_COMPARISON
seal<caret> fun interface A { seal<caret> fun interface A {
fun aFunction() fun aFunction()
} }
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class A { class A {
seal<caret>inner class B seal<caret>inner class B
} }
@@ -1,2 +1,3 @@
// FIR_COMPARISON
seal<caret> open class A seal<caret> open class A
// ABSENT: "sealed" // ABSENT: "sealed"
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
seal<caret> seal<caret>
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
class OuterClass { class OuterClass {
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun foo(a: <caret>) {} fun foo(a: <caret>) {}
// EXIST: suspend // EXIST: suspend
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class Su() { class Su() {
fun x() { fun x() {
mutableListOf<<caret>>() mutableListOf<<caret>>()
@@ -1,3 +1,4 @@
// FIR_COMPARISON
class Su() { class Su() {
fun x() { fun x() {
mutableListOf<Pair<<caret>, String>>() mutableListOf<Pair<<caret>, String>>()
@@ -1,3 +1,4 @@
// FIR_COMPARISON
fun is1(): Boolean{} fun is1(): Boolean{}
fun is2(): Boolean{} fun is2(): Boolean{}
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
<caret> <caret>
+1
View File
@@ -1,3 +1,4 @@
// FIR_COMPARISON
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects // COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
<caret> <caret>

Some files were not shown because too many files have changed in this diff Show More