[LL FIR] add script tests for AbstractWholeFileResolvePhaseTest

^KT-60728
This commit is contained in:
Dmitrii Gridin
2023-07-26 21:35:15 +02:00
committed by Space Team
parent 167c247456
commit e328aeee72
25 changed files with 703 additions and 1 deletions
@@ -0,0 +1,23 @@
FILE: [ResolvedTo(IMPORTS)] classMemberPropertyScript.kts
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|X| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] var x: R|kotlin/Int|
public [ResolvedTo(STATUS)] get(): R|kotlin/Int| {
^ this@R|/X|.F|/X.x|
}
public [ResolvedTo(STATUS)] set([ResolvedTo(STATUS)] value: R|kotlin/Int|): R|kotlin/Unit| {
this@R|/X|.F|/X.x| = R|<local>/value|
}
public final [ResolvedTo(STATUS)] val y: R|kotlin/Int| = Int(42)
public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] var z: R|kotlin/Int| = Int(15)
public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
public [ResolvedTo(STATUS)] set([ResolvedTo(STATUS)] value: R|kotlin/Int|): R|kotlin/Unit|
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,15 @@
FILE: [ResolvedTo(IMPORTS)] classScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun x(): R|kotlin/Unit| {
}
public final [ResolvedTo(STATUS)] fun y(): R|kotlin/Int| {
^y Int(10)
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,15 @@
FILE: [ResolvedTo(IMPORTS)] constructorsScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor([ResolvedTo(STATUS)] a: R|kotlin/Int|): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] val a: R|kotlin/Int| = R|<local>/a|
public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
public [ResolvedTo(STATUS)] constructor(): R|A| {
this<R|A|>(Int(1))
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,41 @@
FILE: [ResolvedTo(IMPORTS)] danglingAnnotationClassLevelScript.kts
public final [ResolvedTo(STATUS)] class Foo : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Foo| {
super<R|kotlin/Any|>()
}
@R|kotlin/Suppress|[Types](names = vararg(String())) @R|kotlin/annotation/MustBeDocumented|[Types]() <DANGLING MODIFIER: Top level declaration expected>
}
public final [ResolvedTo(STATUS)] class Bar : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Bar| {
super<R|kotlin/Any|>()
}
@R|kotlin/Suppress|[Types](names = vararg(String())) @R|kotlin/annotation/MustBeDocumented|[Types]() <DANGLING MODIFIER: Top level declaration expected>
}
public final [ResolvedTo(STATUS)] class Outer : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Outer| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] class Inner : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Outer.Inner| {
super<R|kotlin/Any|>()
}
@R|kotlin/Suppress|[Types](names = vararg(String())) @R|kotlin/annotation/MustBeDocumented|[Types]() <DANGLING MODIFIER: Top level declaration expected>
}
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| {
local final [ResolvedTo(RAW_FIR)] class Local : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|Outer.Local| {
super<R|kotlin/Any|>()
}
@R|kotlin/Suppress|[Types](names = vararg(String())) @R|kotlin/annotation/MustBeDocumented|[Types]() <DANGLING MODIFIER: Top level declaration expected>
}
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,24 @@
FILE: [ResolvedTo(IMPORTS)] declarationsInPropertyInitScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] val a: R|kotlin/Unit| = this@R|/A|.R|kotlin/run|<R|A|, R|kotlin/Unit|>(<L> = [ResolvedTo(RAW_FIR)] run@fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
local final [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|A.X| {
super<R|kotlin/Any|>()
}
}
[ResolvedTo(RAW_FIR)] lval y: R|kotlin/Int| = Int(10)
}
)
public [ResolvedTo(STATUS)] get(): R|kotlin/Unit|
}
public final inline [ResolvedTo(RAW_FIR)] fun <[ResolvedTo(RAW_FIR)] R> run([ResolvedTo(RAW_FIR)] block: R|() -> R|): R|R| {
^run R|<local>/block|.R|SubstitutionOverride<kotlin/Function0.invoke: R|R|>|()
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,30 @@
FILE: [ResolvedTo(IMPORTS)] enumClassScript.kts
public final [ResolvedTo(STATUS)] enum class A : R|kotlin/Enum<A>| {
private [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Enum<A>|>()
}
public final static [ResolvedTo(STATUS)] enum entry X: R|A|
public final static [ResolvedTo(STATUS)] enum entry Y: R|A|
public final static [ResolvedTo(STATUS)] enum entry Z: R|A|
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| {
}
public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = Int(10)
public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] fun bar(): R|kotlin/Int| {
^bar Int(10)
}
public final static [ResolvedTo(STATUS)] fun values(): R|kotlin/Array<A>| {
}
public final static [ResolvedTo(STATUS)] fun valueOf([ResolvedTo(STATUS)] value: R|kotlin/String|): R|A| {
}
public final static [ResolvedTo(STATUS)] val entries: R|kotlin/enums/EnumEntries<A>|
public [ResolvedTo(STATUS)] get(): R|kotlin/enums/EnumEntries<A>|
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,42 @@
FILE: [ResolvedTo(IMPORTS)] enumClassWithBodyScript.kts
public final [ResolvedTo(STATUS)] enum class A : R|kotlin/Enum<A>| {
private [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Enum<A>|>()
}
public final static [ResolvedTo(STATUS)] enum entry X: R|A| = object : R|A| {
private [ResolvedTo(RAW_FIR)] constructor(): R|<anonymous>| {
super<R|A|>()
}
public final [ResolvedTo(RAW_FIR)] fun localInX(): R|kotlin/Int| {
^localInX Int(1)
}
}
public final static [ResolvedTo(STATUS)] enum entry Y: R|A| = object : R|A| {
private [ResolvedTo(RAW_FIR)] constructor(): R|<anonymous>| {
super<R|A|>()
}
public open override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| {
}
}
public final static [ResolvedTo(STATUS)] enum entry Z: R|A|
public open [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| {
}
public final static [ResolvedTo(STATUS)] fun values(): R|kotlin/Array<A>| {
}
public final static [ResolvedTo(STATUS)] fun valueOf([ResolvedTo(STATUS)] value: R|kotlin/String|): R|A| {
}
public final static [ResolvedTo(STATUS)] val entries: R|kotlin/enums/EnumEntries<A>|
public [ResolvedTo(STATUS)] get(): R|kotlin/enums/EnumEntries<A>|
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,19 @@
FILE: [ResolvedTo(IMPORTS)] initBlockScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
init {
[ResolvedTo(RAW_FIR)] lval x: R|kotlin/Int| = Int(10)
local final [ResolvedTo(RAW_FIR)] class B : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|A.B| {
super<R|kotlin/Any|>()
}
}
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,27 @@
FILE: [ResolvedTo(IMPORTS)] localClassScript.kts
public final [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/Unit| {
local final [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|X| {
super<R|kotlin/Any|>()
}
}
}
public final [ResolvedTo(STATUS)] class Y : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Y| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun b(): R|kotlin/Unit| {
local final [ResolvedTo(RAW_FIR)] class Z : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|Y.Z| {
super<R|kotlin/Any|>()
}
}
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,19 @@
FILE: [ResolvedTo(IMPORTS)] localFunScript.kts
public final [ResolvedTo(RAW_FIR)] fun x(): R|kotlin/Unit| {
local final [ResolvedTo(RAW_FIR)] fun y(): R|kotlin/Unit| {
}
}
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun z(): R|kotlin/Unit| {
local final [ResolvedTo(RAW_FIR)] fun q(): R|kotlin/Unit| {
}
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,32 @@
FILE: [ResolvedTo(IMPORTS)] localPropertyScript.kts
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| {
[ResolvedTo(RAW_FIR)] lvar x: R|kotlin/Int|
}
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun q(): R|kotlin/Unit| {
[ResolvedTo(RAW_FIR)] lval y: R|kotlin/Int| = Int(42)
}
}
public final [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|B| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] class C : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|B.C| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun u(): R|kotlin/Unit| {
[ResolvedTo(RAW_FIR)] lvar z: R|kotlin/Int| = Int(15)
}
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,10 @@
FILE: [ResolvedTo(IMPORTS)] memberTypeAliasScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public? final [ResolvedTo(RAW_FIR)] typealias X = R|kotlin/Int|
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,36 @@
FILE: [ResolvedTo(IMPORTS)] nestedClassesScript.kts
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] class B : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A.B| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun x(): R|kotlin/Unit| {
}
public final [ResolvedTo(STATUS)] class C : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A.B.C| {
super<R|kotlin/Any|>()
}
}
}
public final [ResolvedTo(STATUS)] class E : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A.E| {
super<R|kotlin/Any|>()
}
}
public final [ResolvedTo(STATUS)] fun y(): R|kotlin/Int| {
^y Int(10)
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,23 @@
FILE: [ResolvedTo(IMPORTS)] propertyAccessorsScript.kts
public final [ResolvedTo(RAW_FIR)] var x: R|kotlin/Int| = Int(10)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int| {
^ F|/x|
}
public [ResolvedTo(RAW_FIR)] set([ResolvedTo(RAW_FIR)] value: R|kotlin/Int|): R|kotlin/Unit| {
F|/x| = R|<local>/value|
}
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|X| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] var y: R|kotlin/Int| = Int(10)
public [ResolvedTo(STATUS)] get(): R|kotlin/Int| {
^ this@R|/X|.F|/X.y|
}
public [ResolvedTo(STATUS)] set([ResolvedTo(STATUS)] value: R|kotlin/Int|): R|kotlin/Unit| {
this@R|/X|.F|/X.y| = R|<local>/value|
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,40 @@
FILE: [ResolvedTo(IMPORTS)] script.kts
public final [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|Builder| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] var version: R|kotlin/String| = String()
public [ResolvedTo(STATUS)] get(): R|kotlin/String|
public [ResolvedTo(STATUS)] set([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit|
public final [ResolvedTo(STATUS)] fun execute(): R|kotlin/Unit| {
<Unresolved name: println>#(this@R|/Builder|.R|/Builder.version|)
}
}
public final [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: R|Builder.() -> kotlin/Unit|): R|Builder| {
^build R|/Builder.Builder|().R|kotlin/apply|<R|Builder|>(R|<local>/action|)
}
R|/build|(<L> = [ResolvedTo(RAW_FIR)] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(123)
local final [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| {
public [ResolvedTo(RAW_FIR)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(RAW_FIR)] fun doo(): R|kotlin/Unit| {
}
}
this@R|special/anonymous|.R|/Builder.execute|()
}
)public final [ResolvedTo(RAW_FIR)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(RAW_FIR)] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(RAW_FIR)] get(): R|Builder|
public final [ResolvedTo(RAW_FIR)] val $$result: R|kotlin/Unit| = R|/builder|.R|/Builder.execute|()
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Unit|
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,65 @@
FILE: [ResolvedTo(IMPORTS)] superClassCallScript.kts
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor([ResolvedTo(STATUS)] init: R|A.() -> kotlin/Unit|): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] val prop: R|kotlin/String| = String()
public [ResolvedTo(STATUS)] get(): R|kotlin/String|
}
public final [ResolvedTo(STATUS)] class B : R|A| {
public [ResolvedTo(STATUS)] constructor(): R|B| {
super<R|A|>()
}
}
public final [ResolvedTo(STATUS)] object C : R|A| {
private [ResolvedTo(STATUS)] constructor(): R|C| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.<Unresolved name: prop>#.R|kotlin/toString|()
}
}
)
}
}
public final [ResolvedTo(RAW_FIR)] val f: R|A| = object : R|A| {
private [ResolvedTo(RAW_FIR)] constructor(): R|<anonymous>| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/String| {
^bar Q|B|.<Unresolved name: prop>#.R|kotlin/toString|()
}
}
)
}
}
public [ResolvedTo(RAW_FIR)] get(): R|A|
public final [ResolvedTo(STATUS)] class D : R|A| {
public [ResolvedTo(STATUS)] error_constructor(): R|D| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/String| {
^foo Q|B|.<Unresolved name: prop>#.R|kotlin/toString|()
}
}
)
}
public [ResolvedTo(STATUS)] constructor(): R|D| {
super<R|A|>([ResolvedTo(RAW_FIR)] fun R|A|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
local final [ResolvedTo(RAW_FIR)] fun boo(): R|kotlin/String| {
^boo this@R|special/anonymous|.R|/A.prop|.R|kotlin/String.toString|()
}
}
)
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,5 @@
FILE: [ResolvedTo(IMPORTS)] topLevelExpressionBodyFunWithTypeScript.kts
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Int| {
^foo Int(42)
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,5 @@
FILE: [ResolvedTo(IMPORTS)] topLevelExpressionBodyFunWithoutTypeScript.kts
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Int| {
^foo Int(42)
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,6 @@
FILE: [ResolvedTo(IMPORTS)] topLevelFunWithTypeScript.kts
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Int| {
<Unresolved name: println>#(String())
^foo Int(10)
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,14 @@
FILE: [ResolvedTo(IMPORTS)] topLevelPropertyScript.kts
public final [ResolvedTo(RAW_FIR)] var x: R|kotlin/Int|
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int| {
^ F|/x|
}
public [ResolvedTo(RAW_FIR)] set([ResolvedTo(RAW_FIR)] value: R|kotlin/Int|): R|kotlin/Unit| {
F|/x| = R|<local>/value|
}
public final [ResolvedTo(RAW_FIR)] val y: R|kotlin/Int| = Int(42)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] var z: R|kotlin/Int| = Int(15)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public [ResolvedTo(RAW_FIR)] set([ResolvedTo(RAW_FIR)] value: R|kotlin/Int|): R|kotlin/Unit|
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,5 @@
FILE: [ResolvedTo(IMPORTS)] topLevelUnitFunScript.kts
public final [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| {
<Unresolved name: println>#(String())
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -0,0 +1,38 @@
FILE: [ResolvedTo(IMPORTS)] withoutNameScript.kts
public final [ResolvedTo(RAW_FIR)] fun <no name provided>([ResolvedTo(RAW_FIR)] a: R|kotlin/Int| = Int(1)): R|kotlin/String| {
^<no name provided> String(str)
}
public final [ResolvedTo(RAW_FIR)] fun <no name provided>(): R|kotlin/Unit| {
}
public final [ResolvedTo(RAW_FIR)] val <no name provided>: R|kotlin/Int| = Int(4)
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int|
public final [ResolvedTo(RAW_FIR)] var <no name provided>: R|kotlin/Int|
public [ResolvedTo(RAW_FIR)] get(): R|kotlin/Int| {
^ Int(4)
}
public [ResolvedTo(RAW_FIR)] set([ResolvedTo(RAW_FIR)] value: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(STATUS)] fun <no name provided>([ResolvedTo(STATUS)] a: R|kotlin/Int| = Int(1)): R|kotlin/String| {
^<no name provided> String(str)
}
public final [ResolvedTo(STATUS)] fun <no name provided>(): R|kotlin/Unit| {
}
public final [ResolvedTo(STATUS)] val <no name provided>: R|kotlin/Int| = Int(4)
public [ResolvedTo(STATUS)] get(): R|kotlin/Int|
public final [ResolvedTo(STATUS)] var <no name provided>: R|kotlin/Boolean|
public [ResolvedTo(STATUS)] get(): R|kotlin/Boolean| {
^ Boolean(true)
}
public [ResolvedTo(STATUS)] set([ResolvedTo(STATUS)] value: R|kotlin/Boolean|): R|kotlin/Unit| {
}
}
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirOfType
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolveWithClearCaches
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirOutOfContentRootTestConfigurator
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirScriptTestConfigurator
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.renderer.FirRenderer
@@ -33,4 +34,8 @@ abstract class AbstractSourceWholeFileResolvePhaseTest : AbstractWholeFileResolv
abstract class AbstractOutOfContentRootWholeFileResolvePhaseTest : AbstractWholeFileResolvePhaseTest() {
override val configurator get() = AnalysisApiFirOutOfContentRootTestConfigurator
}
}
abstract class AbstractScriptWholeFileResolvePhaseTest : AbstractWholeFileResolvePhaseTest() {
override val configurator get() = AnalysisApiFirScriptTestConfigurator
}
@@ -0,0 +1,158 @@
/*
* Copyright 2010-2023 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.analysis.low.level.api.fir.resolve;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.regex.Pattern;
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("analysis/low-level-api-fir/testdata/fileStructure")
@TestDataPath("$PROJECT_ROOT")
public class ScriptWholeFileResolvePhaseTestGenerated extends AbstractScriptWholeFileResolvePhaseTest {
@Test
public void testAllFilesPresentInFileStructure() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.(kts)$"), null, true);
}
@Test
@TestMetadata("classMemberPropertyScript.kts")
public void testClassMemberPropertyScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts");
}
@Test
@TestMetadata("classScript.kts")
public void testClassScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/classScript.kts");
}
@Test
@TestMetadata("constructorsScript.kts")
public void testConstructorsScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts");
}
@Test
@TestMetadata("danglingAnnotationClassLevelScript.kts")
public void testDanglingAnnotationClassLevelScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts");
}
@Test
@TestMetadata("declarationsInPropertyInitScript.kts")
public void testDeclarationsInPropertyInitScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts");
}
@Test
@TestMetadata("enumClassScript.kts")
public void testEnumClassScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts");
}
@Test
@TestMetadata("enumClassWithBodyScript.kts")
public void testEnumClassWithBodyScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts");
}
@Test
@TestMetadata("initBlockScript.kts")
public void testInitBlockScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts");
}
@Test
@TestMetadata("localClassScript.kts")
public void testLocalClassScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts");
}
@Test
@TestMetadata("localFunScript.kts")
public void testLocalFunScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts");
}
@Test
@TestMetadata("localPropertyScript.kts")
public void testLocalPropertyScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts");
}
@Test
@TestMetadata("memberTypeAliasScript.kts")
public void testMemberTypeAliasScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts");
}
@Test
@TestMetadata("nestedClassesScript.kts")
public void testNestedClassesScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts");
}
@Test
@TestMetadata("propertyAccessorsScript.kts")
public void testPropertyAccessorsScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts");
}
@Test
@TestMetadata("script.kts")
public void testScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/script.kts");
}
@Test
@TestMetadata("superClassCallScript.kts")
public void testSuperClassCallScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts");
}
@Test
@TestMetadata("topLevelExpressionBodyFunWithTypeScript.kts")
public void testTopLevelExpressionBodyFunWithTypeScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts");
}
@Test
@TestMetadata("topLevelExpressionBodyFunWithoutTypeScript.kts")
public void testTopLevelExpressionBodyFunWithoutTypeScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts");
}
@Test
@TestMetadata("topLevelFunWithTypeScript.kts")
public void testTopLevelFunWithTypeScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts");
}
@Test
@TestMetadata("topLevelPropertyScript.kts")
public void testTopLevelPropertyScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts");
}
@Test
@TestMetadata("topLevelUnitFunScript.kts")
public void testTopLevelUnitFunScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts");
}
@Test
@TestMetadata("withoutNameScript.kts")
public void testWithoutNameScript() throws Exception {
runTest("analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts");
}
}
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSo
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSourceInBlockModificationTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractErrorResistanceTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractOutOfContentRootWholeFileResolvePhaseTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractScriptWholeFileResolvePhaseTest
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractSourceWholeFileResolvePhaseTest
import org.jetbrains.kotlin.generators.TestGroup
import org.jetbrains.kotlin.generators.TestGroupSuite
@@ -110,6 +111,10 @@ internal fun TestGroupSuite.generateFirLowLevelApiTests() {
model("fileStructure", pattern = TestGeneratorUtil.KT)
}
testClass<AbstractScriptWholeFileResolvePhaseTest> {
model("fileStructure", pattern = TestGeneratorUtil.KTS)
}
testClass<AbstractSourcePartialRawFirBuilderTestCase> {
model("partialRawBuilder", testMethod = "doRawFirTest")
}