FIR: introduce stub bodies raw fir test case

This commit is contained in:
Ilya Kirillov
2020-10-09 11:37:55 +03:00
parent d2d330c3be
commit bbf450703f
62 changed files with 1474 additions and 2 deletions
@@ -0,0 +1,13 @@
FILE: F.kt
public? open class A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
}
}
public? final? class B : A {
public? constructor(): R|B| {
super<<implicit>>()
}
}
@@ -0,0 +1,28 @@
FILE: NestedOfAliasedType.kt
public? abstract class A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? abstract class Nested : R|kotlin/Any| {
public? constructor(): R|A.Nested| {
super<R|kotlin/Any|>()
}
}
}
public? final typealias TA = A
public? final? class B : TA {
public? constructor(): R|B| {
super<TA>()
}
public? final? class NestedInB : Nested {
public? constructor(): R|B.NestedInB| {
super<Nested>()
}
}
}
@@ -0,0 +1,34 @@
FILE: NestedSuperType.kt
public? abstract class My : R|kotlin/Any| {
public? constructor(): R|p/My| {
super<R|kotlin/Any|>()
}
public? abstract class NestedOne : My {
public? constructor(): R|p/My.NestedOne| {
super<My>()
}
public? abstract class NestedTwo : NestedOne {
public? constructor(): R|p/My.NestedOne.NestedTwo| {
super<NestedOne>()
}
}
}
}
public? final? class Your : My {
public? constructor(): R|p/Your| {
super<My>()
}
public? final? class NestedThree : NestedOne {
public? constructor(): R|p/Your.NestedThree| {
super<NestedOne>()
}
}
}
@@ -0,0 +1,55 @@
FILE: annotation.kt
@Target(AnnotationTarget#.ANNOTATION_CLASS#) public? final? annotation class base : R|kotlin/Annotation| {
public? constructor(): R|base| {
super<R|kotlin/Any|>()
}
}
@base() public? final? annotation class derived : R|kotlin/Annotation| {
public? constructor(): R|derived| {
super<R|kotlin/Any|>()
}
}
@base() public? final? class correct : R|kotlin/Any| {
public? constructor(@base() x: Int): R|correct| {
super<R|kotlin/Any|>()
}
@base() public? final? val x: Int = R|<local>/x|
public? get(): Int
@base() public? constructor(): R|correct| {
this<R|correct|>(IntegerLiteral(0))
}
}
@base() public? final? enum class My : R|kotlin/Enum<My>| {
private constructor(): R|My| {
super<R|kotlin/Enum<My>|>()
}
@base() public final static enum entry FIRST: R|My| = @base() object : R|My| {
private constructor(): R|<anonymous>| {
super<R|My|>()
}
}
@base() public final static enum entry SECOND: R|My| = @base() object : R|My| {
private constructor(): R|<anonymous>| {
super<R|My|>()
}
}
public final static fun values(): R|kotlin/Array<My>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|My| {
}
}
@base() public? final? fun foo(@base() y: @base() Int): Int { LAZY_BLOCK }
@base() public? final? val z: <implicit> = IntegerLiteral(0)
public? get(): <implicit>
@@ -0,0 +1,19 @@
FILE: complexTypes.kt
public? final? class C<T, out S> : R|kotlin/Any| {
public? constructor<T, out S>(): R|a/b/C<T, S>| {
super<R|kotlin/Any|>()
}
public? final? inner class D<R, in P, T, out S> : R|kotlin/Any| {
public? constructor<R, in P>(): R|a/b/C.D<R, P, T, S>| {
super<R|kotlin/Any|>()
}
}
}
public? final? interface Test : R|kotlin/Any| {
public? final? val x: a.b.C<out CharSequence, *>.D<in List<*>, *>
public? get(): a.b.C<out CharSequence, *>.D<in List<*>, *>
}
@@ -0,0 +1,54 @@
FILE: constructorInObject.kt
public? final? object A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
}
init {
}
}
public? final? enum class B : R|kotlin/Enum<B>| {
private constructor(): R|B| {
super<R|kotlin/Enum<B>|>()
}
public final static enum entry X: R|B| = object : R|B| {
private constructor(): R|<anonymous>| {
super<R|B|>()
}
public? constructor(): R|<anonymous>| {
super<R|B|>()
}
}
public final static fun values(): R|kotlin/Array<B>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|B| {
}
}
public? final? class C : R|kotlin/Any| {
public? constructor(): R|C| {
super<R|kotlin/Any|>()
}
public? final? companion object Companion : R|kotlin/Any| {
public? constructor(): R|C.Companion| {
super<R|kotlin/Any|>()
}
}
}
public? final? val anonObject: <implicit> = object : R|kotlin/Any| {
public? constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
}
public? get(): <implicit>
@@ -0,0 +1,2 @@
FILE: constructorOfAnonymousObject.kt
private final? fun resolveAccessorCall(suspendPropertyDescriptor: PropertyDescriptor, context: TranslationContext): ResolvedCall<PropertyDescriptor> { LAZY_BLOCK }
@@ -0,0 +1,6 @@
FILE: functionWithBothOldAndNewSyntaxContractDescription.kt
public? final? fun test1(s: String?): R|kotlin/Unit|
[Contract description] <
returnsNotNull#()
>
{ LAZY_BLOCK }
@@ -0,0 +1,51 @@
FILE: propertyAccessorsContractDescription.kt
public? final? class MyClass : R|kotlin/Any| {
public? constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
public? final? var myInt: Int = IntegerLiteral(0)
public? get(): Int
[Contract description] <
returnsNotNull#()
>
{ LAZY_BLOCK }
public? set(value: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? class AnotherClass : R|kotlin/Any| {
public? constructor(multiplier: Int): R|AnotherClass| {
super<R|kotlin/Any|>()
}
public? final? var anotherInt: Int = IntegerLiteral(0)
public? get(): Int
[Contract description] <
returnsNotNull#()
>
{ LAZY_BLOCK }
public? set(value: Int): R|kotlin/Unit|
[Contract description] <
returns#()
>
{ LAZY_BLOCK }
}
public? final? class SomeClass : R|kotlin/Any| {
public? constructor(multiplier: Int?): R|SomeClass| {
super<R|kotlin/Any|>()
}
public? final? var someInt: Int = IntegerLiteral(0)
public? get(): Int
[Contract description] <
returnsNotNull#()
>
{ LAZY_BLOCK }
public? set(value: Int): R|kotlin/Unit|
[Contract description] <
returns#().implies#(!=(value#, Null(null)))
>
{ LAZY_BLOCK }
}
@@ -0,0 +1,12 @@
FILE: simpleFunctionsContractDescription.kt
public? final? fun test1(s: MyClass?): R|kotlin/Unit|
[Contract description] <
returns#().implies#(!=(s#, Null(null))),
returns#().implies#((s# is MySubClass))
>
{ LAZY_BLOCK }
public? final? fun test2(): R|kotlin/Unit|
[Contract description] <
returnsNotNull#()
>
{ LAZY_BLOCK }
@@ -0,0 +1,11 @@
FILE: contractDescription.kt
public? final? fun test_1(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_2(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? var test_3: Int = IntegerLiteral(1)
public? get(): Int { LAZY_BLOCK }
public? set(value: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_4(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_5(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_6(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_7(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_8(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,17 @@
FILE: derivedClass.kt
public? open class Base<T> : R|kotlin/Any| {
public? constructor<T>(x: T): R|Base<T>| {
super<R|kotlin/Any|>()
}
public? final? val x: T = R|<local>/x|
public? get(): T
}
public? final? class Derived<T : Any> : Base<T> {
public? constructor<T : Any>(x: T): R|Derived<T>| {
super<Base<T>>(x#)
}
}
public? final? fun <T : Any> create(x: T): Derived<T> { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: emptyAnonymousObject.kt
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,142 @@
FILE: enums.kt
public? final? enum class Order : R|kotlin/Enum<Order>| {
private constructor(): R|Order| {
super<R|kotlin/Enum<Order>|>()
}
public final static enum entry FIRST: R|Order|
public final static enum entry SECOND: R|Order|
public final static enum entry THIRD: R|Order|
public final static fun values(): R|kotlin/Array<Order>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|Order| {
}
}
public? final? enum class Planet : R|kotlin/Enum<Planet>| {
public? constructor(m: Double, r: Double): R|Planet| {
super<R|kotlin/Enum<Planet>|>()
}
public? final? val m: Double = R|<local>/m|
public? get(): Double
internal final? val r: Double = R|<local>/r|
internal get(): Double
public final static enum entry MERCURY: R|Planet| = object : R|Planet| {
private constructor(): R|<anonymous>| {
super<R|Planet|>(Double(1.0), Double(2.0))
}
public? open? override fun sayHello(): R|kotlin/Unit| { LAZY_BLOCK }
}
public final static enum entry VENERA: R|Planet| = object : R|Planet| {
private constructor(): R|<anonymous>| {
super<R|Planet|>(Double(3.0), Double(4.0))
}
public? open? override fun sayHello(): R|kotlin/Unit| { LAZY_BLOCK }
}
public final static enum entry EARTH: R|Planet| = object : R|Planet| {
private constructor(): R|<anonymous>| {
super<R|Planet|>(Double(5.0), Double(6.0))
}
public? open? override fun sayHello(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? val g: Double = G#.times#(m#).div#(r#.times#(r#))
public? get(): Double
public? abstract fun sayHello(): R|kotlin/Unit|
public? final? companion object Companion : R|kotlin/Any| {
private constructor(): R|Planet.Companion| {
super<R|kotlin/Any|>()
}
public? final? const val G: <implicit> = Double(6.67E-11)
public? get(): <implicit>
}
public final static fun values(): R|kotlin/Array<Planet>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|Planet| {
}
}
public? final? enum class PseudoInsn : R|kotlin/Enum<PseudoInsn>| {
public? constructor(signature: String = String(()V)): R|PseudoInsn| {
super<R|kotlin/Enum<PseudoInsn>|>()
}
public? final? val signature: String = R|<local>/signature|
public? get(): String
public final static enum entry FIX_STACK_BEFORE_JUMP: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>()
}
}
public final static enum entry FAKE_ALWAYS_TRUE_IFEQ: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>(String(()I))
}
}
public final static enum entry FAKE_ALWAYS_FALSE_IFEQ: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>(String(()I))
}
}
public final static enum entry SAVE_STACK_BEFORE_TRY: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>()
}
}
public final static enum entry RESTORE_STACK_IN_TRY_CATCH: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>()
}
}
public final static enum entry STORE_NOT_NULL: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>()
}
}
public final static enum entry AS_NOT_NULL: R|PseudoInsn| = object : R|PseudoInsn| {
private constructor(): R|<anonymous>| {
super<R|PseudoInsn|>(String((Ljava/lang/Object;)Ljava/lang/Object;))
}
}
public? final? fun emit(): R|kotlin/Unit| { LAZY_BLOCK }
public final static fun values(): R|kotlin/Array<PseudoInsn>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|PseudoInsn| {
}
}
@@ -0,0 +1,50 @@
FILE: enums2.kt
public? final? interface Some : R|kotlin/Any| {
}
public? final? object O1 : Some {
private constructor(): R|O1| {
super<<implicit>>()
}
}
public? final? object O2 : Some {
private constructor(): R|O2| {
super<<implicit>>()
}
}
public? final? enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
public? constructor(x: Some): R|SomeEnum| {
super<R|kotlin/Enum<SomeEnum>|>()
}
public? final? val x: Some = R|<local>/x|
public? get(): Some
public final static enum entry FIRST: R|SomeEnum| = object : R|SomeEnum| {
private constructor(): R|<anonymous>| {
super<R|SomeEnum|>(O1#)
}
public? open? override fun check(y: Some): Boolean { LAZY_BLOCK }
}
public final static enum entry SECOND: R|SomeEnum| = object : R|SomeEnum| {
private constructor(): R|<anonymous>| {
super<R|SomeEnum|>(O2#)
}
public? open? override fun check(y: Some): Boolean { LAZY_BLOCK }
}
public? abstract fun check(y: Some): Boolean
public final static fun values(): R|kotlin/Array<SomeEnum>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|SomeEnum| {
}
}
@@ -0,0 +1,19 @@
FILE: expectActual.kt
public? final? expect class MyClass : R|kotlin/Any| {
public? expect constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
}
public? final? expect fun foo(): String
public? final? expect val x: Int
public? get(): Int
public? final? actual class MyClass : R|kotlin/Any| {
public? constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
}
public? final? actual fun foo(): <implicit> { LAZY_BLOCK }
public? final? actual val x: <implicit> = IntegerLiteral(42)
public? get(): <implicit>
@@ -0,0 +1,4 @@
FILE: functionTypes.kt
public? final? fun <T> simpleRun(f: ( (T) -> Unit )): Unit { LAZY_BLOCK }
public? final? fun <T, R> List<T>.simpleMap(f: ( (T) -> R )): R { LAZY_BLOCK }
public? final? fun <T> simpleWith(t: T, f: ( T.() -> Unit )): Unit { LAZY_BLOCK }
@@ -0,0 +1,12 @@
FILE: genericFunctions.kt
public? final? interface Any : R|kotlin/Any| {
}
public? final? inline fun <reified T : Any> Any.safeAs(): T? { LAZY_BLOCK }
public? abstract class Summator : R|kotlin/Any| {
public? constructor(): R|Summator| {
super<R|kotlin/Any|>()
}
public? abstract fun <T> plus(first: T, second: T): T
}
@@ -0,0 +1,4 @@
FILE: genericProperty.kt
public? final? fun <T> genericFoo(): T { LAZY_BLOCK }
public? final? val <T> T.generic: T
public? get(): T { LAZY_BLOCK }
@@ -0,0 +1,30 @@
FILE: nestedClass.kt
public? abstract class Base : R|kotlin/Any| {
public? constructor(s: String): R|Base| {
super<R|kotlin/Any|>()
}
public? final? val s: String = R|<local>/s|
public? get(): String
}
public? final? class Outer : R|kotlin/Any| {
public? constructor(): R|Outer| {
super<R|kotlin/Any|>()
}
public? final? class Derived : Base {
public? constructor(s: String): R|Outer.Derived| {
super<Base>(s#)
}
}
public? final? object Obj : Base {
private constructor(): R|Outer.Obj| {
super<Base>(String())
}
}
}
@@ -0,0 +1,12 @@
FILE: noPrimaryConstructor.kt
public? final? class NoPrimary : R|kotlin/Any| {
public? final? val x: String
public? get(): String
public? constructor(x: String): R|NoPrimary| { LAZY_BLOCK }
public? constructor(): R|NoPrimary| {
this<R|NoPrimary|>(String())
}
}
@@ -0,0 +1,33 @@
FILE: simpleClass.kt
public? final? interface SomeInterface : R|kotlin/Any| {
public? final? fun foo(x: Int, y: String): String
public? final? val bar: Boolean
public? get(): Boolean
}
public? final? class SomeClass : SomeInterface {
public? constructor(): R|SomeClass| {
super<<implicit>>()
}
private final? val baz: <implicit> = IntegerLiteral(42)
private get(): <implicit>
public? open? override fun foo(x: Int, y: String): String { LAZY_BLOCK }
public? open? override var bar: Boolean
public? get(): Boolean { LAZY_BLOCK }
public? set(value: Boolean): R|kotlin/Unit| { LAZY_BLOCK }
public? final? lateinit var fau: Double
public? get(): Double
public? set(value: Double): R|kotlin/Unit|
}
public? final? inline class InlineClass : R|kotlin/Any| {
public? constructor(): R|InlineClass| {
super<R|kotlin/Any|>()
}
}
@@ -0,0 +1,3 @@
FILE: simpleFun.kt
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? suspend fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,10 @@
FILE: simpleTypeAlias.kt
public? final? interface B : R|kotlin/Any| {
}
public? final typealias C = B
public? final? class D : C {
public? constructor(): R|D| {
super<<implicit>>()
}
}
@@ -0,0 +1,16 @@
FILE: typeAliasWithGeneric.kt
public? open class A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
}
}
public? final? interface B<S, T : A> : R|kotlin/Any| {
}
public? final typealias C<T> = B<T, A>
public? final? class D : C<A> {
public? constructor(): R|D| {
super<<implicit>>()
}
}
@@ -0,0 +1,34 @@
FILE: typeParameterVsNested.kt
public? final? interface Some : R|kotlin/Any| {
}
public? abstract class My<T : Some> : R|kotlin/Any| {
public? constructor<T : Some>(): R|test/My<T>| {
super<R|kotlin/Any|>()
}
public? final? inner class T<T : Some> : R|kotlin/Any| {
public? constructor(): R|test/My.T<T>| {
super<R|kotlin/Any|>()
}
}
public? abstract val x: T
public? get(): T
public? abstract fun foo(arg: T): R|kotlin/Unit|
public? abstract val y: My.T
public? get(): My.T
public? abstract val z: test.My.T
public? get(): test.My.T
public? final? class Some : T {
public? constructor(): R|test/My.Some| {
super<T>()
}
}
}
@@ -0,0 +1,25 @@
FILE: typeParameters.kt
public? final? interface List<out T : Any> : R|kotlin/Any| {
public? final? operator fun get(index: Int): T
public? final? infix fun concat(other: List<T>): List<T>
}
public? final typealias StringList = List<out String>
public? final typealias AnyList = List<*>
public? abstract class AbstractList<out T : Any> : List<T> {
public? constructor<out T : Any>(): R|AbstractList<T>| {
super<<implicit>>()
}
}
public? final? class SomeList : AbstractList<Int> {
public? constructor(): R|SomeList| {
super<AbstractList<Int>>()
}
public? open? override fun get(index: Int): Int { LAZY_BLOCK }
public? open? override fun concat(other: List<Int>): List<Int> { LAZY_BLOCK }
}
@@ -0,0 +1,11 @@
FILE: where.kt
public? final? interface A : R|kotlin/Any| {
}
public? final? interface B : R|kotlin/Any| {
}
public? final? class C<T : A, B> : R|kotlin/Any| {
public? constructor<T : A, B>(): R|C<T>| {
super<R|kotlin/Any|>()
}
}
@@ -0,0 +1,17 @@
FILE: annotated.kt
@Target(AnnotationTarget#.EXPRESSION#) @Retention(AnnotationRetention#.SOURCE#) public? final? annotation class Ann : R|kotlin/Annotation| {
public? constructor(): R|Ann| {
super<R|kotlin/Any|>()
}
}
public? final? fun foo(arg: Int): Int { LAZY_BLOCK }
public? final? data class Two : R|kotlin/Any| {
public? constructor(x: Int, y: Int): R|Two| {
super<R|kotlin/Any|>()
}
public final fun copy(): R|Two|
}
public? final? fun bar(two: Two): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,14 @@
FILE: arrayAccess.kt
public? final? val p: <implicit> = IntegerLiteral(0)
public? get(): <implicit>
public? final? fun foo(): <implicit> { LAZY_BLOCK }
public? final? class Wrapper : R|kotlin/Any| {
public? constructor(v: IntArray): R|Wrapper| {
super<R|kotlin/Any|>()
}
public? final? val v: IntArray = R|<local>/v|
public? get(): IntArray
}
public? final? fun test(a: IntArray, w: Wrapper): <implicit> { LAZY_BLOCK }
@@ -0,0 +1,4 @@
FILE: arrayAssignment.kt
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun foo(): <implicit> { LAZY_BLOCK }
public? final? fun test2(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,5 @@
FILE: branches.kt
public? final? fun foo(a: Int, b: Int): <implicit> { LAZY_BLOCK }
public? final? fun bar(a: Double, b: Double): Double { LAZY_BLOCK }
public? final? fun baz(a: Long, b: Long): Long { LAZY_BLOCK }
public? final? fun grade(g: Int): String { LAZY_BLOCK }
@@ -0,0 +1,30 @@
FILE: callableReferences.kt
public? final? class A : R|kotlin/Any| {
public? constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? val bar: <implicit> = IntegerLiteral(0)
public? get(): <implicit>
}
public? final? fun A.qux(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun baz(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? val test1: <implicit> = A#()::foo#
public? get(): <implicit>
public? final? val test2: <implicit> = A#()::bar#
public? get(): <implicit>
public? final? val test3: <implicit> = A#()::qux#
public? get(): <implicit>
public? final? val test4: <implicit> = A#::foo#
public? get(): <implicit>
public? final? val test5: <implicit> = A#::bar#
public? get(): <implicit>
public? final? val test6: <implicit> = A#::qux#
public? get(): <implicit>
public? final? val test7: <implicit> = ::baz#
public? get(): <implicit>
public? final? val test8: <implicit> = A#?::foo#
public? get(): <implicit>
@@ -0,0 +1,22 @@
FILE: calls.kt
public? final? infix fun distance(x: Int, y: Int): <implicit> { LAZY_BLOCK }
public? final? fun test(): Int { LAZY_BLOCK }
public? final? fun testRegular(): Int { LAZY_BLOCK }
public? final? class My : R|kotlin/Any| {
public? constructor(x: Int): R|My| {
super<R|kotlin/Any|>()
}
public? final? var x: Int = R|<local>/x|
public? get(): Int
public? set(value: Int): R|kotlin/Unit|
public? final? operator fun invoke(): <implicit> { LAZY_BLOCK }
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun copy(): <implicit> { LAZY_BLOCK }
}
public? final? fun testInvoke(): Int { LAZY_BLOCK }
public? final? fun testQualified(first: My, second: My?): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,8 @@
FILE: classReference.kt
public? final? class A : R|kotlin/Any| {
public? constructor(): R|test/A| {
super<R|kotlin/Any|>()
}
}
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,52 @@
FILE: collectionLiterals.kt
public? final? annotation class Ann1 : R|kotlin/Annotation| {
public? constructor(arr: IntArray): R|Ann1| {
super<R|kotlin/Any|>()
}
public? final? val arr: IntArray = R|<local>/arr|
public? get(): IntArray
}
public? final? annotation class Ann2 : R|kotlin/Annotation| {
public? constructor(arr: DoubleArray): R|Ann2| {
super<R|kotlin/Any|>()
}
public? final? val arr: DoubleArray = R|<local>/arr|
public? get(): DoubleArray
}
public? final? annotation class Ann3 : R|kotlin/Annotation| {
public? constructor(arr: Array<String>): R|Ann3| {
super<R|kotlin/Any|>()
}
public? final? val arr: Array<String> = R|<local>/arr|
public? get(): Array<String>
}
@Ann1(<implicitArrayOf>()) @Ann2(<implicitArrayOf>()) @Ann3(<implicitArrayOf>()) public? final? class Zero : R|kotlin/Any| {
public? constructor(): R|Zero| {
super<R|kotlin/Any|>()
}
}
@Ann1(<implicitArrayOf>(IntegerLiteral(1), IntegerLiteral(2))) public? final? class First : R|kotlin/Any| {
public? constructor(): R|First| {
super<R|kotlin/Any|>()
}
}
@Ann2(<implicitArrayOf>(Double(3.14))) public? final? class Second : R|kotlin/Any| {
public? constructor(): R|Second| {
super<R|kotlin/Any|>()
}
}
@Ann3(<implicitArrayOf>(String(Alpha), String(Omega))) public? final? class Third : R|kotlin/Any| {
public? constructor(): R|Third| {
super<R|kotlin/Any|>()
}
}
@@ -0,0 +1,25 @@
FILE: destructuring.kt
public? final? data class Some : R|kotlin/Any| {
public? constructor(first: Int, second: Double, third: String): R|Some| {
super<R|kotlin/Any|>()
}
public? final? val first: Int = R|<local>/first|
public? get(): Int
public? final? val second: Double = R|<local>/second|
public? get(): Double
public? final? val third: String = R|<local>/third|
public? get(): String
public final fun component1(): Int
public final fun component2(): Double
public final fun component3(): String
public final fun copy(first: Int = this@R|/Some|.R|/Some.first|, second: Double = this@R|/Some|.R|/Some.second|, third: String = this@R|/Some|.R|/Some.third|): R|Some|
}
public? final? fun foo(some: Some): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,24 @@
FILE: for.kt
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun fooLabeled(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun bar(list: List<String>): R|kotlin/Unit| { LAZY_BLOCK }
public? final? data class Some : R|kotlin/Any| {
public? constructor(x: Int, y: Int): R|Some| {
super<R|kotlin/Any|>()
}
public? final? val x: Int = R|<local>/x|
public? get(): Int
public? final? val y: Int = R|<local>/y|
public? get(): Int
public final fun component1(): Int
public final fun component2(): Int
public final fun copy(x: Int = this@R|/Some|.R|/Some.x|, y: Int = this@R|/Some|.R|/Some.y|): R|Some|
}
public? final? fun baz(set: Set<Some>): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun withParameter(list: List<Some>): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,3 @@
FILE: genericCalls.kt
public? final? fun <T> nullableValue(): T? { LAZY_BLOCK }
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: in.kt
public? final? fun foo(x: Int, y: Int, c: Collection<Int>): <implicit> { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: inBrackets.kt
public? final? fun test(e: ( Int.() -> String )): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,14 @@
FILE: init.kt
public? final? class WithInit : R|kotlin/Any| {
public? constructor(x: Int): R|WithInit| {
super<R|kotlin/Any|>()
}
public? final? val x: Int
public? get(): Int
init {
this#.x# = x#
}
}
@@ -0,0 +1,2 @@
FILE: labelForInfix.kt
public? final? fun main(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,33 @@
FILE: lambda.kt
public? final? data class Tuple : R|kotlin/Any| {
public? constructor(x: Int, y: Int): R|Tuple| {
super<R|kotlin/Any|>()
}
public? final? val x: Int = R|<local>/x|
public? get(): Int
public? final? val y: Int = R|<local>/y|
public? get(): Int
public final fun component1(): Int
public final fun component2(): Int
public final fun copy(x: Int = this@R|/Tuple|.R|/Tuple.x|, y: Int = this@R|/Tuple|.R|/Tuple.y|): R|Tuple|
}
public? final? inline fun use(f: ( (Tuple) -> Int )): <implicit> { LAZY_BLOCK }
public? final? fun foo(): Int { LAZY_BLOCK }
public? final? fun bar(): Int { LAZY_BLOCK }
public? final? fun test(list: List<Int>): R|kotlin/Unit| { LAZY_BLOCK }
public? final? val simple: <implicit> = fun <implicit>.<anonymous>(): <implicit> {
^ Unit
}
public? get(): <implicit>
public? final? val another: <implicit> = fun <implicit>.<anonymous>(): <implicit> {
IntegerLiteral(42)
}
public? get(): <implicit>
@@ -0,0 +1,4 @@
FILE: lambdaAndAnonymousFunction.kt
public? final? fun <T> run(block: ( () -> T )): T { LAZY_BLOCK }
public? final? fun test_1(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test_2(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: locals.kt
public? final? fun withLocals(p: Int): Int { LAZY_BLOCK }
@@ -0,0 +1,4 @@
FILE: modifications.kt
public? final? fun simple(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun List<String>.modify(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun Any.modify(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,3 @@
FILE: namedArgument.kt
public? final? fun foo(first: String = String(), second: Boolean = Boolean(true), third: Double = Double(3.1415)): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,3 @@
FILE: nullability.kt
public? final? fun orFourtyTwo(arg: Int?): <implicit> { LAZY_BLOCK }
public? final? fun bang(arg: Int?): <implicit> { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: qualifierWithTypeArguments.kt
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,3 @@
FILE: simpleReturns.kt
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun bar(): String { LAZY_BLOCK }
@@ -0,0 +1,21 @@
FILE: super.kt
public? final? interface A : R|kotlin/Any| {
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? interface B : R|kotlin/Any| {
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? class C : A, B {
public? constructor(): R|C| {
super<<implicit>>()
}
public? open? override fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
public? open? override fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -0,0 +1,18 @@
FILE: these.kt
public? final? class Some : R|kotlin/Any| {
public? constructor(): R|Some| {
super<R|kotlin/Any|>()
}
public? final? fun foo(): Int { LAZY_BLOCK }
public? final? fun bar(): Int { LAZY_BLOCK }
public? final? val instance: Some
public? get(): Some { LAZY_BLOCK }
public? final? fun String.extension(): Int { LAZY_BLOCK }
}
public? final? fun Some.extension(): <implicit> { LAZY_BLOCK }
public? final? fun test(some: Some): Int { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: try.kt
public? final? fun some(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,7 @@
FILE: typeOperators.kt
public? final? interface IThing : R|kotlin/Any| {
}
public? final? fun test1(x: Any): <implicit> { LAZY_BLOCK }
public? final? fun test2(x: Any): <implicit> { LAZY_BLOCK }
public? final? fun test3(x: Any): <implicit> { LAZY_BLOCK }
public? final? fun test4(x: Any): <implicit> { LAZY_BLOCK }
@@ -0,0 +1,23 @@
FILE: unary.kt
public? final? fun test(): R|kotlin/Unit| { LAZY_BLOCK }
public? final? class X : R|kotlin/Any| {
public? constructor(i: Int): R|X| {
super<R|kotlin/Any|>()
}
public? final? val i: Int = R|<local>/i|
public? get(): Int
}
public? final? fun test2(x: X): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun test3(arr: Array<Int>): R|kotlin/Unit| { LAZY_BLOCK }
public? final? class Y : R|kotlin/Any| {
public? constructor(arr: Array<Int>): R|Y| {
super<R|kotlin/Any|>()
}
public? final? val arr: Array<Int> = R|<local>/arr|
public? get(): Array<Int>
}
public? final? fun test4(y: Y): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,2 @@
FILE: variables.kt
public? final? fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,3 @@
FILE: while.kt
public? final? fun foo(limit: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? final? fun bar(limit: Int): R|kotlin/Unit| { LAZY_BLOCK }
@@ -0,0 +1,20 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.builder
import org.jetbrains.kotlin.fir.FirRenderer
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
abstract class AbstractRawFirBuilderLazyBodiesTestCase : AbstractRawFirBuilderTestCase() {
override fun doRawFirTest(filePath: String) {
val file = createKtFile(filePath)
val firFile = file.toFirFile(stubMode = false, bodyStubMode = true)
val firFileDump = StringBuilder().also { FirRenderer(it).visitFile(firFile) }.toString()
val expectedPath = filePath.replace(".kt", ".lazyBodies.txt")
KotlinTestUtils.assertEqualsToFile(File(expectedPath), firFileDump)
}
}
@@ -74,9 +74,9 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
}
}
protected fun KtFile.toFirFile(stubMode: Boolean): FirFile {
protected fun KtFile.toFirFile(stubMode: Boolean, bodyStubMode: Boolean = false): FirFile {
val session = FirSessionFactory.createEmptySession()
return RawFirBuilder(session, StubFirScopeProvider, stubMode).buildFirFile(this)
return RawFirBuilder(session, StubFirScopeProvider, stubMode, bodyStubMode).buildFirFile(this)
}
private fun FirElement.traverseChildren(result: MutableSet<FirElement> = hashSetOf()): MutableSet<FirElement> {
@@ -0,0 +1,385 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.builder;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;
import java.io.File;
import java.util.regex.Pattern;
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class RawFirBuilderLazyBodiesTestCaseGenerated extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInRawBuilder() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Declarations extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInDeclarations() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("annotation.kt")
public void testAnnotation() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotation.kt");
}
@TestMetadata("complexTypes.kt")
public void testComplexTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/complexTypes.kt");
}
@TestMetadata("constructorInObject.kt")
public void testConstructorInObject() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorInObject.kt");
}
@TestMetadata("constructorOfAnonymousObject.kt")
public void testConstructorOfAnonymousObject() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/constructorOfAnonymousObject.kt");
}
@TestMetadata("derivedClass.kt")
public void testDerivedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/derivedClass.kt");
}
@TestMetadata("emptyAnonymousObject.kt")
public void testEmptyAnonymousObject() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/emptyAnonymousObject.kt");
}
@TestMetadata("enums.kt")
public void testEnums() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums.kt");
}
@TestMetadata("enums2.kt")
public void testEnums2() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/enums2.kt");
}
@TestMetadata("expectActual.kt")
public void testExpectActual() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectActual.kt");
}
@TestMetadata("F.kt")
public void testF() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/F.kt");
}
@TestMetadata("functionTypes.kt")
public void testFunctionTypes() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/functionTypes.kt");
}
@TestMetadata("genericFunctions.kt")
public void testGenericFunctions() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.kt");
}
@TestMetadata("genericProperty.kt")
public void testGenericProperty() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/genericProperty.kt");
}
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");
}
@TestMetadata("NestedOfAliasedType.kt")
public void testNestedOfAliasedType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedOfAliasedType.kt");
}
@TestMetadata("NestedSuperType.kt")
public void testNestedSuperType() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/NestedSuperType.kt");
}
@TestMetadata("noPrimaryConstructor.kt")
public void testNoPrimaryConstructor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/noPrimaryConstructor.kt");
}
@TestMetadata("simpleClass.kt")
public void testSimpleClass() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleClass.kt");
}
@TestMetadata("simpleFun.kt")
public void testSimpleFun() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleFun.kt");
}
@TestMetadata("simpleTypeAlias.kt")
public void testSimpleTypeAlias() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/simpleTypeAlias.kt");
}
@TestMetadata("typeAliasWithGeneric.kt")
public void testTypeAliasWithGeneric() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeAliasWithGeneric.kt");
}
@TestMetadata("typeParameterVsNested.kt")
public void testTypeParameterVsNested() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameterVsNested.kt");
}
@TestMetadata("typeParameters.kt")
public void testTypeParameters() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/typeParameters.kt");
}
@TestMetadata("where.kt")
public void testWhere() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/where.kt");
}
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Contracts extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInContracts() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class NewSyntax extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInNewSyntax() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("functionWithBothOldAndNewSyntaxContractDescription.kt")
public void testFunctionWithBothOldAndNewSyntaxContractDescription() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/functionWithBothOldAndNewSyntaxContractDescription.kt");
}
@TestMetadata("propertyAccessorsContractDescription.kt")
public void testPropertyAccessorsContractDescription() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/propertyAccessorsContractDescription.kt");
}
@TestMetadata("simpleFunctionsContractDescription.kt")
public void testSimpleFunctionsContractDescription() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/newSyntax/simpleFunctionsContractDescription.kt");
}
}
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/oldSyntax")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class OldSyntax extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInOldSyntax() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/oldSyntax"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("contractDescription.kt")
public void testContractDescription() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/contracts/oldSyntax/contractDescription.kt");
}
}
}
}
@TestMetadata("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Expressions extends AbstractRawFirBuilderLazyBodiesTestCase {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doRawFirTest, this, testDataFilePath);
}
public void testAllFilesPresentInExpressions() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@TestMetadata("annotated.kt")
public void testAnnotated() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/annotated.kt");
}
@TestMetadata("arrayAccess.kt")
public void testArrayAccess() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/arrayAccess.kt");
}
@TestMetadata("arrayAssignment.kt")
public void testArrayAssignment() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/arrayAssignment.kt");
}
@TestMetadata("branches.kt")
public void testBranches() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/branches.kt");
}
@TestMetadata("callableReferences.kt")
public void testCallableReferences() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/callableReferences.kt");
}
@TestMetadata("calls.kt")
public void testCalls() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/calls.kt");
}
@TestMetadata("classReference.kt")
public void testClassReference() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/classReference.kt");
}
@TestMetadata("collectionLiterals.kt")
public void testCollectionLiterals() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/collectionLiterals.kt");
}
@TestMetadata("destructuring.kt")
public void testDestructuring() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/destructuring.kt");
}
@TestMetadata("for.kt")
public void testFor() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/for.kt");
}
@TestMetadata("genericCalls.kt")
public void testGenericCalls() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/genericCalls.kt");
}
@TestMetadata("in.kt")
public void testIn() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/in.kt");
}
@TestMetadata("inBrackets.kt")
public void testInBrackets() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/inBrackets.kt");
}
@TestMetadata("init.kt")
public void testInit() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/init.kt");
}
@TestMetadata("labelForInfix.kt")
public void testLabelForInfix() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/labelForInfix.kt");
}
@TestMetadata("lambda.kt")
public void testLambda() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/lambda.kt");
}
@TestMetadata("lambdaAndAnonymousFunction.kt")
public void testLambdaAndAnonymousFunction() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/lambdaAndAnonymousFunction.kt");
}
@TestMetadata("locals.kt")
public void testLocals() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/locals.kt");
}
@TestMetadata("modifications.kt")
public void testModifications() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/modifications.kt");
}
@TestMetadata("namedArgument.kt")
public void testNamedArgument() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/namedArgument.kt");
}
@TestMetadata("nullability.kt")
public void testNullability() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/nullability.kt");
}
@TestMetadata("qualifierWithTypeArguments.kt")
public void testQualifierWithTypeArguments() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/qualifierWithTypeArguments.kt");
}
@TestMetadata("simpleReturns.kt")
public void testSimpleReturns() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/simpleReturns.kt");
}
@TestMetadata("super.kt")
public void testSuper() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/super.kt");
}
@TestMetadata("these.kt")
public void testThese() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/these.kt");
}
@TestMetadata("try.kt")
public void testTry() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/try.kt");
}
@TestMetadata("typeOperators.kt")
public void testTypeOperators() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/typeOperators.kt");
}
@TestMetadata("unary.kt")
public void testUnary() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/unary.kt");
}
@TestMetadata("variables.kt")
public void testVariables() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/variables.kt");
}
@TestMetadata("while.kt")
public void testWhile() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/expressions/while.kt");
}
}
}
@@ -581,6 +581,10 @@ fun main(args: Array<String>) {
model("rawBuilder", testMethod = "doRawFirTest")
}
testClass<AbstractRawFirBuilderLazyBodiesTestCase> {
model("rawBuilder", testMethod = "doRawFirTest")
}
testClass<AbstractRawFirBuilderSourceElementMappingTestCase> {
model("sourceElementMapping", testMethod = "doRawFirTest")
}