[LL FIR] add lazy resolve tests for substitution override on function

^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-11-06 19:04:28 +01:00
committed by Space Team
parent 9506f3d1f4
commit b0d72c6292
25 changed files with 2545 additions and 54 deletions
@@ -2,5 +2,5 @@
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
abstract val property: T
abstract val T.property: T
}
@@ -1,5 +1,5 @@
RAW_FIR:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -14,13 +14,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
IMPORTS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -35,13 +35,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -56,13 +56,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
COMPANION_GENERATION:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -77,13 +77,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
SUPER_TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -98,13 +98,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -119,13 +119,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
STATUS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -140,13 +140,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -161,13 +161,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
CONTRACTS:
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -182,13 +182,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -203,13 +203,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -224,13 +224,13 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
@@ -245,7 +245,7 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverride.kt
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
@@ -263,7 +263,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverride.kt
super<R|kotlin/Any|>()
}
public abstract [ResolvedTo(BODY_RESOLVE)] val property: R|T|
public abstract [ResolvedTo(BODY_RESOLVE)] val R|T|.property: R|T|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
}
@@ -0,0 +1,8 @@
// MEMBER_CLASS_FILTER: org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
package second
abstract class S<caret>ubClass: AbstractClass<Int>(0)
abstract class AbstractClass<T> {
constructor(t: T)
}
@@ -0,0 +1,194 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(SUPER_TYPES)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<R|kotlin/Int|>>
}
}
public? abstract [ResolvedTo(SUPER_TYPES)] class AbstractClass<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public? abstract [ResolvedTo(TYPES)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public? [ResolvedTo(TYPES)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public? abstract [ResolvedTo(SUPER_TYPES)] class AbstractClass<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>(Int(0))
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideConstructor.kt
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>(Int(0))
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
}
@@ -0,0 +1,8 @@
// MEMBER_CLASS_FILTER: org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
package second
abstract class S<caret>ubClass: AbstractClass<Int>(0)
abstract class AbstractClass<T> {
constructor(t: T)
}
@@ -0,0 +1,271 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(RAW_FIR)] class SubClass : AbstractClass<Int> {
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<Int>>
}
}
public? abstract [ResolvedTo(RAW_FIR)] class AbstractClass<[ResolvedTo(RAW_FIR)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(RAW_FIR)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(SUPER_TYPES)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<AbstractClass<R|kotlin/Int|>>
}
}
public? abstract [ResolvedTo(SUPER_TYPES)] class AbstractClass<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public? abstract [ResolvedTo(TYPES)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public? [ResolvedTo(TYPES)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public? abstract [ResolvedTo(SUPER_TYPES)] class AbstractClass<[ResolvedTo(SUPER_TYPES)] T> : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(SUPER_TYPES)] T>([ResolvedTo(RAW_FIR)] t: T): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>(Int(0))
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>([ResolvedTo(STATUS)] t: R|T|): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideConstructorScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-substitutionFakeOverrideConstructorScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>(Int(0))
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>([ResolvedTo(BODY_RESOLVE)] t: R|T|): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
}
@@ -0,0 +1,8 @@
// MEMBER_NAME_FILTER: resolveMe
package second
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
abstract fun T.resolveMe(param: T): T
}
@@ -0,0 +1,244 @@
RAW_FIR:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
IMPORTS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
COMPANION_GENERATION:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
SUPER_TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
STATUS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
CONTRACTS:
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideFunction.kt
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public abstract [ResolvedTo(BODY_RESOLVE)] fun R|T|.resolveMe([ResolvedTo(BODY_RESOLVE)] param: R|T|): R|T|
}
@@ -0,0 +1,8 @@
// MEMBER_NAME_FILTER: resolveMe
package second
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
abstract fun T.resolveMe(param: T): T
}
@@ -0,0 +1,322 @@
RAW_FIR:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
IMPORTS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
COMPANION_GENERATION:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
SUPER_TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
STATUS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
CONTRACTS:
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/Int|.resolveMe([ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=<local>/param] param: R|kotlin/Int|): R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] fun R|T|.resolveMe([ResolvedTo(STATUS)] param: R|T|): R|T|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideFunctionScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-substitutionFakeOverrideFunctionScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/Int>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public abstract [ResolvedTo(BODY_RESOLVE)] fun R|T|.resolveMe([ResolvedTo(BODY_RESOLVE)] param: R|T|): R|T|
}
@@ -0,0 +1,9 @@
// MEMBER_NAME_FILTER: resolveMe
package second
abstract class S<caret>ubClass: AbstractClass<String>()
abstract class AbstractClass<T> {
fun explicitType(): T? = null
fun T.resolveMe() = explicitType()
}
@@ -0,0 +1,286 @@
RAW_FIR:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
IMPORTS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
COMPANION_GENERATION:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
SUPER_TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
STATUS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
EXPECT_ACTUAL_MATCHING:
TARGET: public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
CONTRACTS:
TARGET: public final [ResolvedTo(CONTRACTS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
ANNOTATION_ARGUMENTS:
TARGET: public final [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
BODY_RESOLVE:
TARGET: public final [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideFunctionWithImplicitType.kt
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/String>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
@@ -0,0 +1,9 @@
// MEMBER_NAME_FILTER: resolveMe
package second
abstract class S<caret>ubClass: AbstractClass<String>()
abstract class AbstractClass<T> {
fun explicitType(): T? = null
fun T.resolveMe() = explicitType()
}
@@ -0,0 +1,364 @@
RAW_FIR:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
IMPORTS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
COMPANION_GENERATION:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
SUPER_TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
STATUS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
EXPECT_ACTUAL_MATCHING:
TARGET: public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
CONTRACTS:
TARGET: public final [ResolvedTo(CONTRACTS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/String}, baseSymbol=FirNamedFunctionSymbol second/AbstractClass.resolveMe), SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] fun explicitType(): R|T?| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun R|T|.resolveMe(): <implicit> { LAZY_BLOCK }
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
ANNOTATION_ARGUMENTS:
TARGET: public final [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
BODY_RESOLVE:
TARGET: public final [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=second/AbstractClass.resolveMe] fun R|kotlin/String|.resolveMe(): R|kotlin/String?|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
LAZY_super<R|second/AbstractClass<kotlin/String>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|second/AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(CONTRACTS)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideFunctionWithImplicitTypeScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-substitutionFakeOverrideFunctionWithImplicitTypeScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|second/AbstractClass<kotlin/String>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|second/SubClass| {
super<R|second/AbstractClass<kotlin/String>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|second/AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun explicitType(): R|T?| {
^explicitType Null(null)
}
public final [ResolvedTo(BODY_RESOLVE)] fun R|T|.resolveMe(): R|T?| {
^resolveMe this@R|second/AbstractClass|.R|second/AbstractClass.explicitType|()
}
}
@@ -2,5 +2,5 @@
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
abstract val property: T
abstract val T.property: T
}
@@ -1,5 +1,5 @@
RAW_FIR:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -19,14 +19,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
IMPORTS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -46,14 +46,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -73,14 +73,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
COMPANION_GENERATION:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -100,14 +100,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
SUPER_TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -127,14 +127,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
TYPES:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -154,14 +154,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
STATUS:
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -181,14 +181,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -208,14 +208,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
CONTRACTS:
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(CONTRACTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -235,14 +235,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -262,14 +262,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -289,14 +289,14 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
BODY_RESOLVE:
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val property: R|kotlin/Int|
TARGET: public abstract [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
@@ -316,7 +316,7 @@ FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideScript.kts
LAZY_super<R|kotlin/Any|>
}
public abstract [ResolvedTo(STATUS)] val property: R|T|
public abstract [ResolvedTo(STATUS)] val R|T|.property: R|T|
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): R|T|
}
@@ -340,7 +340,8 @@ FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideScript.kts
super<R|kotlin/Any|>()
}
public abstract [ResolvedTo(BODY_RESOLVE)] val property: R|T|
public abstract [ResolvedTo(BODY_RESOLVE)] val R|T|.property: R|T|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
}
@@ -0,0 +1,7 @@
// MEMBER_NAME_FILTER: property
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
val T.property = foo()
abstract fun foo(): T
}
@@ -0,0 +1,295 @@
RAW_FIR:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
IMPORTS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
COMPANION_GENERATION:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
SUPER_TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
STATUS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
CONTRACTS:
TARGET: public final [ResolvedTo(CONTRACTS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public final [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
BODY_RESOLVE:
TARGET: public final [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideWithImplicitTypeAndReceiver.kt
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
super<R|AbstractClass<kotlin/Int>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo(): R|T|
}
@@ -0,0 +1,7 @@
// MEMBER_NAME_FILTER: property
abstract class S<caret>ubClass: AbstractClass<Int>()
abstract class AbstractClass<T> {
val T.property = foo()
abstract fun foo(): T
}
@@ -0,0 +1,372 @@
RAW_FIR:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
IMPORTS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
COMPILER_REQUIRED_ANNOTATIONS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
COMPANION_GENERATION:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
SUPER_TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
TYPES:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
STATUS:
TARGET: public final [ResolvedTo(STATUS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
EXPECT_ACTUAL_MATCHING:
TARGET: public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
CONTRACTS:
TARGET: public final [ResolvedTo(CONTRACTS)] [CallableCopySubstitutionKey=CallableCopySubstitution(substitutor={T -> kotlin/Int}, baseSymbol=FirPropertySymbol /AbstractClass.property), SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: <implicit>
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] val R|T|.property: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] get(): <implicit>
public abstract [ResolvedTo(STATUS)] fun foo(): R|T|
}
IMPLICIT_TYPES_BODY_RESOLVE:
TARGET: public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
ANNOTATION_ARGUMENTS:
TARGET: public final [ResolvedTo(ANNOTATION_ARGUMENTS)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
BODY_RESOLVE:
TARGET: public final [ResolvedTo(BODY_RESOLVE)] [SubstitutedOverrideOriginalKey=/AbstractClass.property] val R|kotlin/Int|.property: R|kotlin/Int|
FILE: [ResolvedTo(IMPORTS)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(STATUS)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
LAZY_super<R|AbstractClass<kotlin/Int>|>
}
}
public abstract [ResolvedTo(STATUS)] class AbstractClass<[ResolvedTo(STATUS)] T> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(STATUS)] T>(): R|AbstractClass<T>| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(CONTRACTS)] fun foo(): R|T|
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
public abstract [ResolvedTo(BODY_RESOLVE)] class SubClass : R|AbstractClass<kotlin/Int>| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SubClass] constructor(): R|SubClass| {
super<R|AbstractClass<kotlin/Int>|>()
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AbstractClass<[ResolvedTo(BODY_RESOLVE)] T> : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] constructor<[ResolvedTo(BODY_RESOLVE)] T>(): R|AbstractClass<T>| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] val R|T|.property: R|T| = this@R|/AbstractClass|.R|/AbstractClass.foo|()
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AbstractClass] get(): R|T|
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo(): R|T|
}
@@ -158,8 +158,13 @@ abstract class AbstractFirLazyDeclarationResolveTestCase : AbstractLowLevelApiLa
declarations += it
}
}
}
typeScope.processDeclaredConstructors {
if (filter(it)) {
declarations += it
}
}
}
}
return declarations.singleOrNull() ?: error("Can't choose from:\n${declarations.joinToString("\n")}")
@@ -528,6 +528,24 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverride.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideConstructor.kt")
public void testSubstitutionFakeOverrideConstructor() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideConstructor.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideFunction.kt")
public void testSubstitutionFakeOverrideFunction() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunction.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideFunctionWithImplicitType.kt")
public void testSubstitutionFakeOverrideFunctionWithImplicitType() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunctionWithImplicitType.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideInDifferentModules.kt")
public void testSubstitutionFakeOverrideInDifferentModules() throws Exception {
@@ -540,6 +558,12 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitType.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideWithImplicitTypeAndReceiver.kt")
public void testSubstitutionFakeOverrideWithImplicitTypeAndReceiver() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitTypeAndReceiver.kt");
}
@Test
@TestMetadata("superTypes.kt")
public void testSuperTypes() throws Exception {
@@ -498,12 +498,36 @@ public class FirScriptLazyDeclarationResolveTestGenerated extends AbstractFirScr
runTest("analysis/low-level-api-fir/testData/lazyResolve/statementTransformation.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideConstructorScript.kts")
public void testSubstitutionFakeOverrideConstructorScript() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideConstructorScript.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideFunctionScript.kts")
public void testSubstitutionFakeOverrideFunctionScript() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunctionScript.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideFunctionWithImplicitTypeScript.kts")
public void testSubstitutionFakeOverrideFunctionWithImplicitTypeScript() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunctionWithImplicitTypeScript.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideScript.kts")
public void testSubstitutionFakeOverrideScript() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideScript.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts")
public void testSubstitutionFakeOverrideWithImplicitTypeAndReceiverScript() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitTypeAndReceiverScript.kts");
}
@Test
@TestMetadata("substitutionFakeOverrideWithImplicitTypeScript.kts")
public void testSubstitutionFakeOverrideWithImplicitTypeScript() throws Exception {
@@ -528,6 +528,24 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverride.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideConstructor.kt")
public void testSubstitutionFakeOverrideConstructor() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideConstructor.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideFunction.kt")
public void testSubstitutionFakeOverrideFunction() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunction.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideFunctionWithImplicitType.kt")
public void testSubstitutionFakeOverrideFunctionWithImplicitType() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideFunctionWithImplicitType.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideInDifferentModules.kt")
public void testSubstitutionFakeOverrideInDifferentModules() throws Exception {
@@ -540,6 +558,12 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitType.kt");
}
@Test
@TestMetadata("substitutionFakeOverrideWithImplicitTypeAndReceiver.kt")
public void testSubstitutionFakeOverrideWithImplicitTypeAndReceiver() throws Exception {
runTest("analysis/low-level-api-fir/testData/lazyResolve/substitutionFakeOverrideWithImplicitTypeAndReceiver.kt");
}
@Test
@TestMetadata("superTypes.kt")
public void testSuperTypes() throws Exception {
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.fir.renderer
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationDataRegistry
import org.jetbrains.kotlin.fir.declarations.FirProperty
@@ -37,7 +38,7 @@ open class FirDeclarationRendererWithAttributes : FirDeclarationRenderer() {
private fun Any.renderAsDeclarationAttributeValue() = when (this) {
is FirCallableSymbol<*> -> callableId.toString()
is FirClassLikeSymbol<*> -> classId.asString()
is FirProperty -> symbol.callableId.toString()
is FirCallableDeclaration -> symbol.callableId.toString()
is Lazy<*> -> value.toString()
else -> toString()
}