Add PSI test templates for identifiers

This commit is contained in:
victor.petukhov
2018-09-25 13:02:03 +03:00
parent 4bfa90dc25
commit ed73513d48
28 changed files with 251 additions and 0 deletions
@@ -0,0 +1,10 @@
/*
KOTLIN PSI SPEC TEST (<!TEST_TYPE!>)
SECTIONS: <!SECTIONS!>
PARAGRAPH: <!PARAGRAPH_NUMBER!>
SENTENCE: [<!SENTENCE_NUMBER!>] <!SENTENCE!>
NUMBER: <!TEST_NUMBER!>
DESCRIPTION: <!TEST_DESCRIPTION!>
NOTE: this test data is generated by FeatureInteractionTestDataGenerator. DO NOT MODIFY CODE MANUALLY!
*/
@@ -0,0 +1,9 @@
/*
KOTLIN NOT LINKED PSI SPEC TEST (<!TEST_TYPE!>)
SECTION: <!SECTION!>
CATEGORIES: <!CATEGORIES!>
NUMBER: <!TEST_NUMBER!>
DESCRIPTION: <!TEST_DESCRIPTION!>
NOTE: this test data is generated by FeatureInteractionTestDataGenerator. DO NOT MODIFY CODE MANUALLY!
*/
@@ -0,0 +1,9 @@
val <!ELEMENT!> = 10
val <!ELEMENT!> = "."
val value_1 = <!ELEMENT!> - 100 % <!ELEMENT!>
val value_2 = <!ELEMENT!>.dec()
val value_3 = "$<!ELEMENT!> 10"
val value_4 = "${<!ELEMENT!>}"
val value_5 = <!ELEMENT!> + " 11..." + <!ELEMENT!> + "1"
val value_6 = <!ELEMENT!>
@@ -0,0 +1,7 @@
fun case_1() {
Boolean::<!ELEMENT!>
Boolean???::<!ELEMENT!>::<!ELEMENT!>::<!ELEMENT!>
org.jetbrains.Boolean?::<!ELEMENT!>::<!ELEMENT!>
}
@@ -0,0 +1,5 @@
fun f() {
try {} catch (<!ELEMENT!>: Any) {}
try {} catch (@a <!ELEMENT!>: Any) {}
}
@@ -0,0 +1,9 @@
class <!ELEMENT!> {}
internal class A: <!ELEMENT!> {}
interface <!ELEMENT!> {}
interface A: @<!ELEMENT!> B {}
interface A: B, C, <!ELEMENT!> {}
@@ -0,0 +1,17 @@
class A {
companion object <!ELEMENT!> {
}
}
class B {
companion object <!ELEMENT!>: A() {
}
}
class C {
companion object <!ELEMENT!>: B by expr, x1, A() {
}
}
@@ -0,0 +1,4 @@
enum class A(x1: Any?) {
<!ELEMENT!>("1"),
<!ELEMENT!>("2");
}
@@ -0,0 +1 @@
@file:[JvmName.<!ELEMENT!><<!ELEMENT!>>()]
@@ -0,0 +1 @@
@file:<!ELEMENT!>
@@ -0,0 +1,5 @@
fun <!ELEMENT!>() {}
suspend fun <!ELEMENT!>() {}
inline fun <T: Number> <!ELEMENT!>() = <!ELEMENT!>
@@ -0,0 +1,9 @@
import org.jetbrains.<!ELEMENT!>.*
import <!ELEMENT!>
import <!ELEMENT!>.*;
import <!ELEMENT!>.*import <!ELEMENT!>
import org.jetbrains.kotlin as <!ELEMENT!>
@@ -0,0 +1,5 @@
fun f() {
1 + 1 <!ELEMENT!> 10..11
1 + 1 <!ELEMENT!> 10..11 <!ELEMENT!> 10 <!ELEMENT!> -.9-9.0
}
@@ -0,0 +1,21 @@
fun f() {
val lambda_1 = <!ELEMENT!>@ {}
val lambda_2 = <!ELEMENT!>@ {
println(1)
}
val lambda_3 = @someAnotation <!ELEMENT!>@ {
println(1)
}
val lambda_4 = @someAnotation1 @someAnotation2 @someAnotation3 <!ELEMENT!>@ {
println(1)
}
val x1 = <!ELEMENT!>@ 10 - 1
val x2 = <!ELEMENT!>@(listOf(1))
val x3 = <!ELEMENT!>@(return return) && <!ELEMENT!>@ return return
val x4 = <!ELEMENT!>@ try {} finally {} && <!ELEMENT!>@ return return
val x5 = <!ELEMENT!>@ try { false } catch(e: E) {} catch (e: Exception) { true } && <!ELEMENT!>@ when (value) { <!ELEMENT!>@ true -> <!ELEMENT!>@ false; <!ELEMENT!>@ false -> <!ELEMENT!>@ true }
}
@@ -0,0 +1,8 @@
fun f() {
return@<!ELEMENT!>
while (true) {
break@<!ELEMENT!>
continue@<!ELEMENT!>
}
}
@@ -0,0 +1,7 @@
object A : <!ELEMENT!> {}
object B : A<B<<!ELEMENT!>, <!ELEMENT!>>, <!ELEMENT!>> {}
object <!ELEMENT!> constructor() {}
object <!ELEMENT!> : <!ELEMENT!><<!ELEMENT!>> {}
@@ -0,0 +1 @@
package org.jetbrains.<!ELEMENT!>
@@ -0,0 +1 @@
package <!ELEMENT!>
@@ -0,0 +1,12 @@
fun f1(<!ELEMENT!>: Int) {}
fun f2(<!ELEMENT!>: Boolean, <!ELEMENT!>: Boolean) = <!ELEMENT!>
fun f3(val <!ELEMENT!>: Boolean = <!ELEMENT!>, var <!ELEMENT!>: Boolean) = <!ELEMENT!>
class A {
val x1: Boolean = <!ELEMENT!>
set(<!ELEMENT!>) = <!ELEMENT!>
var x2: Boolean = <!ELEMENT!>
set(vararg <!ELEMENT!>: Boolean) = <!ELEMENT!>
}
@@ -0,0 +1,14 @@
class A {
var x1: String
set(private <!ELEMENT!>) = <!ELEMENT!>
var x2: String
set(abstract final <!ELEMENT!>) {
return field
}
}
var x3 = 0L
set(suspend <!ELEMENT!>) {
return field
}
@@ -0,0 +1,7 @@
fun f1(a: <!ELEMENT!>) {}
fun f2(a: <!ELEMENT!><*>) {}
fun f3(a: <!ELEMENT!><out *>) {}
fun f4(a: <!ELEMENT!><in List<<!ELEMENT!><*>>>) {}
@@ -0,0 +1,7 @@
fun f1() {
val x1 = "$<!ELEMENT!>"
val x2 = "..." + "...$<!ELEMENT!>..." + "..."
var x3 = "$<!ELEMENT!>$<!ELEMENT!>$<!ELEMENT!>"
}
@@ -0,0 +1,5 @@
typealias <!ELEMENT!> = Boolean
private typealias <!ELEMENT!><T> = List<T>
internal typealias <!ELEMENT!><<!ELEMENT!>> = Map<<!ELEMENT!><<!ELEMENT!>>, List<<!ELEMENT!>>>
@@ -0,0 +1,16 @@
class A <<!ELEMENT!>, <!ELEMENT!>>
where <!ELEMENT!> : CharSequence,
<!ELEMENT!> : Comparable<<!ELEMENT!>>
annotation class B <<!ELEMENT!>>
where <!ELEMENT!> : CharSequence,
@A<List<Nothing?>> @B <!ELEMENT!> : Comparable<<!ELEMENT!>>
annotation class C <<!ELEMENT!>, <!ELEMENT!>> where @property:C <!ELEMENT!> : CharSequence, <!ELEMENT!> : Comparable<<!ELEMENT!>>
fun <<!ELEMENT!>, <!ELEMENT!>> d(): Boolean
where <!ELEMENT!> : Any,
<!ELEMENT!> : Iterable<*>,
<!ELEMENT!> : Collection<*>,
<!ELEMENT!> : MutableCollection<*>,
<!ELEMENT!> : Comparable<<!ELEMENT!>> = <!ELEMENT!> == <!ELEMENT!>
@@ -0,0 +1,13 @@
fun <<!ELEMENT!>> f1() {}
fun <reified T : <!ELEMENT!>> T.f2() {}
class B<K: L<M<<!ELEMENT!>>>> {}
class B<K, T: A<in <!ELEMENT!>>> {}
fun <T : org.jetbrains.<!ELEMENT!>> T.f3() {}
fun f4(a: List<out <!ELEMENT!>>) {}
fun f5(a: List<List<List<<!ELEMENT!>?>>>) {}
@@ -0,0 +1,22 @@
class A {
@field:<!ELEMENT!>
val a: Int = ""
@setparam:<!ELEMENT!>(<!ELEMENT!>)
val b: Int = ""
@receiver:org.jetbrains.<!ELEMENT!><A<B, C>>(<!ELEMENT!>)
val c: Int = ""
@org.jetbrains.<!ELEMENT!>
val c: Int = ""
@<!ELEMENT!><A<B>, C>(<!ELEMENT!>, <!ELEMENT!>, <!ELEMENT!>)
val c: Int = ""
@<!ELEMENT!>
val c: Int = ""
@<!ELEMENT!>.<!ELEMENT!>.<!ELEMENT!><A<B>, C>(<!ELEMENT!>, <!ELEMENT!>, <!ELEMENT!>)
val c: Int = ""
}
@@ -0,0 +1,11 @@
fun f1() {
f2(<!ELEMENT!> = expr)
f3(<!ELEMENT!> = (0L - 10 + throw E() - -.09))
f4(
<!ELEMENT!> = return return,
<!ELEMENT!> = try {} finally {},
<!ELEMENT!> = 0x10
)
}
@@ -0,0 +1,15 @@
fun f1() {
for (<!ELEMENT!>: Any in 0..10) {}
val x1 = {<!ELEMENT!>: Boolean ->
println("1")
}
val x2 = {<!ELEMENT!>: Boolean, <!ELEMENT!>: <!ELEMENT!> -> }
var <!ELEMENT!>: Boolean;
val x3 = fun(<!ELEMENT!>: Boolean) {
}(<!ELEMENT!>)
}