[LL FIR] add more tests on lazy resolution for implicit type phase

These tests demonstrate the implicit type phase problem - annotations
are also resolved, although they should not

^KT-56551
This commit is contained in:
Dmitrii Gridin
2023-09-22 15:45:11 +02:00
committed by Space Team
parent 2151e34de3
commit d4bc5dc717
56 changed files with 4812 additions and 0 deletions
@@ -0,0 +1,45 @@
package myPack
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.TYPE,
AnnotationTarget.EXPRESSION,
)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(functionProperty)
const val functionProperty = 42/* DeclarationStructureElement */
@Anno(parameterProperty)
const val parameterProperty = 42/* DeclarationStructureElement */
@Anno(defaultValueProperty)
const val defaultValueProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
@Anno(valueParameterTypeProperty)
const val valueParameterTypeProperty = 42/* DeclarationStructureElement */
@Anno(expressionProperty)
const val expressionProperty = 42/* DeclarationStructureElement */
fun topLevelFun() = run {
@Anno(functionProperty)
fun <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) Int.function(
@Anno(parameterProperty) param: @Anno(
valueParameterTypeProperty
) Int = defaultValueProperty,
) = @Anno(expressionProperty) "str"
}/* DeclarationStructureElement */
@@ -0,0 +1,35 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndFunctionInside.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val functionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val parameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/defaultValueProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val defaultValueProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/valueParameterTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val valueParameterTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
^topLevelFun R|kotlin/run|<R|kotlin/Unit|>(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) local final [ResolvedTo(BODY_RESOLVE)] fun <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) kotlin/Int|.function([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) param: R|@R|myPack/Anno|(number = R|myPack/valueParameterTypeProperty|) kotlin/Int| = R|myPack/defaultValueProperty|): R|kotlin/String| {
^function @R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) String(str)
}
}
)
}
@@ -0,0 +1,35 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndFunctionInside.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val functionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val parameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/defaultValueProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val defaultValueProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/valueParameterTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val valueParameterTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): <ERROR TYPE REF: Unresolved name: run> {
^topLevelFun <Unresolved name: run>#(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) local final [ResolvedTo(BODY_RESOLVE)] fun <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) kotlin/Int|.function([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) param: R|@R|myPack/Anno|(number = R|myPack/valueParameterTypeProperty|) kotlin/Int| = R|myPack/defaultValueProperty|): R|kotlin/String| {
^function @R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) String(str)
}
}
)
}
@@ -0,0 +1,49 @@
package myPack
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.TYPE,
AnnotationTarget.EXPRESSION,
)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(functionProperty)
const val functionProperty = 42/* DeclarationStructureElement */
@Anno(parameterProperty)
const val parameterProperty = 42/* DeclarationStructureElement */
@Anno(defaultValueProperty)
const val defaultValueProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
@Anno(valueParameterTypeProperty)
const val valueParameterTypeProperty = 42/* DeclarationStructureElement */
@Anno(expressionProperty)
const val expressionProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = 42.function()
@Anno(functionProperty)
fun <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) T.function(
@Anno(parameterProperty) param: @Anno(
valueParameterTypeProperty
) String = "${defaultValueProperty}",
) = @Anno(expressionProperty) "str"
}
}
@@ -0,0 +1,43 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndFunctionInsideLocalClass.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val functionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val parameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/defaultValueProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val defaultValueProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/valueParameterTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val valueParameterTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first (this@R|<local>/LocalClass|, Int(42)).R|<local>/function|<R|kotlin/Int|>()
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final [ResolvedTo(BODY_RESOLVE)] fun <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) T|.function([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) param: R|@R|myPack/Anno|(number = R|myPack/valueParameterTypeProperty|) kotlin/String| = <strcat>(R|myPack/defaultValueProperty|)): R|kotlin/String| {
^function @R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) String(str)
}
}
}
@@ -0,0 +1,49 @@
package myPack/* RootScriptStructureElement */
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.TYPE,
AnnotationTarget.EXPRESSION,
)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(functionProperty)
const val functionProperty = 42/* DeclarationStructureElement */
@Anno(parameterProperty)
const val parameterProperty = 42/* DeclarationStructureElement */
@Anno(defaultValueProperty)
const val defaultValueProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
@Anno(valueParameterTypeProperty)
const val valueParameterTypeProperty = 42/* DeclarationStructureElement */
@Anno(expressionProperty)
const val expressionProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = 42.function()
@Anno(functionProperty)
fun <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) T.function(
@Anno(parameterProperty) param: @Anno(
valueParameterTypeProperty
) String = "${defaultValueProperty}",
) = @Anno(expressionProperty) "str"
}
}
@@ -0,0 +1,57 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndFunctionInsideLocalClassScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-functionWithImplicitTypeAndFunctionInsideLocalClassScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val functionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val parameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/defaultValueProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val defaultValueProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/valueParameterTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val valueParameterTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first (this@R|<local>/LocalClass|, Int(42)).R|<local>/function|<R|kotlin/Int|>()
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final [ResolvedTo(BODY_RESOLVE)] fun <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) T|.function([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) param: R|@R|myPack/Anno|(number = R|myPack/valueParameterTypeProperty|) kotlin/String| = <strcat>(R|myPack/defaultValueProperty|)): R|kotlin/String| {
^function @R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) String(str)
}
}
}
@@ -0,0 +1,45 @@
package myPack/* RootScriptStructureElement */
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.TYPE,
AnnotationTarget.EXPRESSION,
)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(functionProperty)
const val functionProperty = 42/* DeclarationStructureElement */
@Anno(parameterProperty)
const val parameterProperty = 42/* DeclarationStructureElement */
@Anno(defaultValueProperty)
const val defaultValueProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
@Anno(valueParameterTypeProperty)
const val valueParameterTypeProperty = 42/* DeclarationStructureElement */
@Anno(expressionProperty)
const val expressionProperty = 42/* DeclarationStructureElement */
fun topLevelFun() = run {
@Anno(functionProperty)
fun <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) Int.function(
@Anno(parameterProperty) param: @Anno(
valueParameterTypeProperty
) Int = defaultValueProperty,
) = @Anno(expressionProperty) "str"
}/* DeclarationStructureElement */
@@ -0,0 +1,49 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndFunctionInsideScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-functionWithImplicitTypeAndFunctionInsideScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val functionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val parameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/defaultValueProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val defaultValueProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/valueParameterTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val valueParameterTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
^topLevelFun R|kotlin/run|<R|kotlin/Unit|>(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
@R|myPack/Anno|[Types](number = R|myPack/functionProperty|) local final [ResolvedTo(BODY_RESOLVE)] fun <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) kotlin/Int|.function([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/parameterProperty|) param: R|@R|myPack/Anno|(number = R|myPack/valueParameterTypeProperty|) kotlin/Int| = R|myPack/defaultValueProperty|): R|kotlin/String| {
^function @R|myPack/Anno|[Types](number = R|myPack/expressionProperty|) String(str)
}
}
)
}
@@ -0,0 +1,22 @@
package myPack
@Target(AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.EXPRESSION, AnnotationTarget.PROPERTY)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(localAnnotationProperty)
const val localAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(expressionAnnotationProperty)
const val expressionAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(setterAnnotationProperty)
const val setterAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(receiverAnnotationProperty)
const val receiverAnnotationProperty = 42/* DeclarationStructureElement */
fun topLevelFunction() = run {
@Anno(localAnnotationProperty)
var @receiver:Anno(receiverAnnotationProperty) Int.variableToResolve = @Anno(expressionAnnotationProperty) "str"
}/* DeclarationStructureElement */
@@ -0,0 +1,24 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndPropertyInside.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val localAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFunction(): R|kotlin/Unit| {
^topLevelFunction R|kotlin/run|<R|kotlin/Unit|>(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) [ResolvedTo(BODY_RESOLVE)] lvar @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) R|kotlin/Int|.variableToResolve: R|kotlin/String| = @R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) String(str)
}
)
}
@@ -0,0 +1,24 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndPropertyInside.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val localAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFunction(): <ERROR TYPE REF: Unresolved name: run> {
^topLevelFunction <Unresolved name: run>#(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) [ResolvedTo(BODY_RESOLVE)] lvar @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) R|kotlin/Int|.variableToResolve: R|kotlin/String| = @R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) String(str)
}
)
}
@@ -0,0 +1,22 @@
package myPack/* RootScriptStructureElement */
@Target(AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.EXPRESSION, AnnotationTarget.PROPERTY)
@Retention(AnnotationRetention.SOURCE)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(localAnnotationProperty)
const val localAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(expressionAnnotationProperty)
const val expressionAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(setterAnnotationProperty)
const val setterAnnotationProperty = 42/* DeclarationStructureElement */
@Anno(receiverAnnotationProperty)
const val receiverAnnotationProperty = 42/* DeclarationStructureElement */
fun topLevelFunction() = run {
@Anno(localAnnotationProperty)
var @receiver:Anno(receiverAnnotationProperty) Int.variableToResolve = @Anno(expressionAnnotationProperty) "str"
}/* DeclarationStructureElement */
@@ -0,0 +1,33 @@
FILE: [ResolvedTo(BODY_RESOLVE)] functionWithImplicitTypeAndPropertyInsideScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-functionWithImplicitTypeAndPropertyInsideScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.LOCAL_VARIABLE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.EXPRESSION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|)) @R|kotlin/annotation/Retention|[Types](value = Q|kotlin/annotation/AnnotationRetention|.R|kotlin/annotation/AnnotationRetention.SOURCE|) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val localAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val expressionAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverAnnotationProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFunction(): R|kotlin/Unit| {
^topLevelFunction R|kotlin/run|<R|kotlin/Unit|>(<L> = [ResolvedTo(BODY_RESOLVE)] run@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
@R|myPack/Anno|[Types](number = R|myPack/localAnnotationProperty|) [ResolvedTo(BODY_RESOLVE)] lvar @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverAnnotationProperty|) R|kotlin/Int|.variableToResolve: R|kotlin/String| = @R|myPack/Anno|[Types](number = R|myPack/expressionAnnotationProperty|) String(str)
}
)
}
@@ -0,0 +1,47 @@
package myPack
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.TYPE,
)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(propertyProperty)
const val propertyProperty = 42/* DeclarationStructureElement */
@Anno(getterProperty)
const val getterProperty = 42/* DeclarationStructureElement */
@Anno(setterProperty)
const val setterProperty = 42/* DeclarationStructureElement */
@Anno(setterParameterProperty)
const val setterParameterProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = 42.variableToResolve
@Anno(propertyProperty)
var <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) T.variableToResolve
@Anno(getterProperty)
get() = "str"
@Anno(setterProperty)
set(@Anno(setterParameterProperty) value) = Unit
}
}
@@ -0,0 +1,45 @@
FILE: [ResolvedTo(BODY_RESOLVE)] propertyWithImplicitTypeAndAnnotationsInsideLocalClass.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val propertyProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val getterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first (this@R|<local>/LocalClass|, Int(42)).R|<local>/variableToResolve|<R|kotlin/Int|>
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final [ResolvedTo(BODY_RESOLVE)] var <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) T|.variableToResolve: R|kotlin/String|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| {
^ String(str)
}
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) value: R|kotlin/String|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
}
}
@@ -0,0 +1,46 @@
package myPack/* RootScriptStructureElement */
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.TYPE_PARAMETER,
AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.TYPE,
)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(propertyProperty)
const val propertyProperty = 42/* DeclarationStructureElement */
@Anno(getterProperty)
const val getterProperty = 42/* DeclarationStructureElement */
@Anno(setterProperty)
const val setterProperty = 42/* DeclarationStructureElement */
@Anno(setterParameterProperty)
const val setterParameterProperty = 42/* DeclarationStructureElement */
@Anno(receiverProperty)
const val receiverProperty = 42/* DeclarationStructureElement */
@Anno(receiverTypeProperty)
const val receiverTypeProperty = 42/* DeclarationStructureElement */
@Anno(typeParameterProperty)
const val typeParameterProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = 42.variableToResolve
@Anno(propertyProperty)
var <@Anno(typeParameterProperty) T> @receiver:Anno(receiverProperty) @Anno(receiverTypeProperty) T.variableToResolve
@Anno(getterProperty)
get() = "str"
@Anno(setterProperty)
set(@Anno(setterParameterProperty) value) = Unit
}
}
@@ -0,0 +1,58 @@
FILE: [ResolvedTo(BODY_RESOLVE)] propertyWithImplicitTypeAndAnnotationsInsideLocalClassScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-propertyWithImplicitTypeAndAnnotationsInsideLocalClassScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FUNCTION|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val propertyProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val getterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/receiverTypeProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val receiverTypeProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val typeParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first (this@R|<local>/LocalClass|, Int(42)).R|<local>/variableToResolve|<R|kotlin/Int|>
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final [ResolvedTo(BODY_RESOLVE)] var <@R|myPack/Anno|[Types](number = R|myPack/typeParameterProperty|) [ResolvedTo(BODY_RESOLVE)] T> @RECEIVER:R|myPack/Anno|[Types](number = R|myPack/receiverProperty|) R|@R|myPack/Anno|(number = R|myPack/receiverTypeProperty|) T|.variableToResolve: R|kotlin/String|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| {
^ String(str)
}
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) value: R|kotlin/String|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
}
}
@@ -0,0 +1,39 @@
package myPack
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD,
)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(propertyProperty)
const val propertyProperty = 42/* DeclarationStructureElement */
@Anno(getterProperty)
const val getterProperty = 42/* DeclarationStructureElement */
@Anno(setterProperty)
const val setterProperty = 42/* DeclarationStructureElement */
@Anno(setterParameterProperty)
const val setterParameterProperty = 42/* DeclarationStructureElement */
@Anno(fieldProperty)
const val fieldProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = variableToResolve
@Anno(propertyProperty)
@field:Anno(fieldProperty)
var variableToResolve = "${42}"
@Anno(getterProperty)
get() = field + "str"
@Anno(setterProperty)
set(@Anno(setterParameterProperty) value) = Unit
}
}
@@ -0,0 +1,41 @@
FILE: [ResolvedTo(BODY_RESOLVE)] propertyWithImplicitTypeAndFieldAnnotationsInsideLocalClass.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FIELD|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val propertyProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val getterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/fieldProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val fieldProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first this@R|<local>/LocalClass|.R|<local>/variableToResolve|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) field:@FIELD:R|myPack/Anno|[Types](number = R|myPack/fieldProperty|) public final [ResolvedTo(BODY_RESOLVE)] var variableToResolve: R|kotlin/String| = <strcat>(Int(42))
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| {
^ this@R|<local>/LocalClass|.F|<local>/variableToResolve|.R|kotlin/String.plus|(String(str))
}
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) value: R|kotlin/String|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
}
}
@@ -0,0 +1,39 @@
package myPack/* RootScriptStructureElement */
@Target(
AnnotationTarget.PROPERTY,
AnnotationTarget.VALUE_PARAMETER,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD,
)
annotation class Anno(val number: Int)/* DeclarationStructureElement *//* ClassDeclarationStructureElement */
@Anno(propertyProperty)
const val propertyProperty = 42/* DeclarationStructureElement */
@Anno(getterProperty)
const val getterProperty = 42/* DeclarationStructureElement */
@Anno(setterProperty)
const val setterProperty = 42/* DeclarationStructureElement */
@Anno(setterParameterProperty)
const val setterParameterProperty = 42/* DeclarationStructureElement */
@Anno(fieldProperty)
const val fieldProperty = 42/* DeclarationStructureElement */
fun topLevelFun() {/* DeclarationStructureElement */
class LocalClass {
fun first() = variableToResolve
@Anno(propertyProperty)
@field:Anno(fieldProperty)
var variableToResolve = "${42}"
@Anno(getterProperty)
get() = field + "str"
@Anno(setterProperty)
set(@Anno(setterParameterProperty) value) = Unit
}
}
@@ -0,0 +1,51 @@
FILE: [ResolvedTo(BODY_RESOLVE)] propertyWithImplicitTypeAndFieldAnnotationsInsideLocalClassScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-propertyWithImplicitTypeAndFieldAnnotationsInsideLocalClassScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_GETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.PROPERTY_SETTER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.FIELD|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] constructor([ResolvedTo(BODY_RESOLVE)] number: R|kotlin/Int|): R|myPack/Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val number: R|kotlin/Int| = R|<local>/number|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val propertyProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val getterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val setterParameterProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@R|myPack/Anno|[Types](number = R|myPack/fieldProperty|) public final const [ResolvedTo(BODY_RESOLVE)] val fieldProperty: R|kotlin/Int| = Int(42)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public final [ResolvedTo(BODY_RESOLVE)] fun topLevelFun(): R|kotlin/Unit| {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun first(): R|kotlin/String| {
^first this@R|<local>/LocalClass|.R|<local>/variableToResolve|
}
@R|myPack/Anno|[Types](number = R|myPack/propertyProperty|) field:@FIELD:R|myPack/Anno|[Types](number = R|myPack/fieldProperty|) public final [ResolvedTo(BODY_RESOLVE)] var variableToResolve: R|kotlin/String| = <strcat>(Int(42))
@R|myPack/Anno|[Types](number = R|myPack/getterProperty|) public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/String| {
^ this@R|<local>/LocalClass|.F|<local>/variableToResolve|.R|kotlin/String.plus|(String(str))
}
@R|myPack/Anno|[Types](number = R|myPack/setterProperty|) public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] @R|myPack/Anno|[Types](number = R|myPack/setterParameterProperty|) value: R|kotlin/String|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
}
}
@@ -0,0 +1,14 @@
/* RootScriptStructureElement */var x: Int = 0/* DeclarationStructureElement */
if (true) {
class LocalClass {
fun foo() = boo
private val boo = 9
}
val prop = LocalClass().foo()
fun foo(y: Int) = y + 20
x = foo(prop)
}
val rv = x/* DeclarationStructureElement */
@@ -0,0 +1,36 @@
FILE: [ResolvedTo(BODY_RESOLVE)] secondLevelFunction.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-secondLevelFunction.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(0)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
when () {
Boolean(true) -> {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo this@R|<local>/LocalClass|.R|<local>/boo|
}
private final [ResolvedTo(BODY_RESOLVE)] val boo: R|kotlin/Int| = Int(9)
private [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
[ResolvedTo(BODY_RESOLVE)] lval prop: R|kotlin/Int| = R|<local>/LocalClass.LocalClass|().R|<local>/foo|()
local final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] y: R|kotlin/Int|): R|kotlin/Int| {
^foo R|<local>/y|.R|kotlin/Int.plus|(Int(20))
}
R|/x| = R|/foo|(R|<local>/prop|)
}
}
public final [ResolvedTo(BODY_RESOLVE)] val rv: R|kotlin/Int| = R|/x|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
@@ -0,0 +1,14 @@
/* RootScriptStructureElement */var x: Int = 0/* DeclarationStructureElement */
if (true) {
class LocalClass {
fun foo() = boo
private val boo = 9
}
val prop = LocalClass().foo()
fun foo(y: Int) = y + 20
x = foo(prop)
}
x
@@ -0,0 +1,36 @@
FILE: [ResolvedTo(BODY_RESOLVE)] secondLevelFunction2.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-secondLevelFunction2.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(0)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
when () {
Boolean(true) -> {
local final [ResolvedTo(BODY_RESOLVE)] class LocalClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|<local>/LocalClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo this@R|<local>/LocalClass|.R|<local>/boo|
}
private final [ResolvedTo(BODY_RESOLVE)] val boo: R|kotlin/Int| = Int(9)
private [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
}
[ResolvedTo(BODY_RESOLVE)] lval prop: R|kotlin/Int| = R|<local>/LocalClass.LocalClass|().R|<local>/foo|()
local final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] y: R|kotlin/Int|): R|kotlin/Int| {
^foo R|<local>/y|.R|kotlin/Int.plus|(Int(20))
}
R|/x| = R|/foo|(R|<local>/prop|)
}
}
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Int| = R|/x|
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|