[FIR] add diagnostic test for annotations inside type parameters

^KT-63396
This commit is contained in:
Dmitrii Gridin
2023-11-10 17:16:12 +01:00
committed by Space Team
parent bec434d534
commit 2ee9fcab9b
13 changed files with 812 additions and 0 deletions
@@ -0,0 +1,10 @@
@Target(AnnotationTarget.TYPE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE_PARAMETER)
annotation class Anno(val position: String)
interface OriginalInterface {
val <@Anno("type param $prop") F : @Anno("bound $prop") Number> explic<caret>itType: @Anno("bound $prop") Int get() = 1
companion object {
private const val prop = 0
}
}
@@ -0,0 +1,360 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] typeParameterAnnotations.kt
@Target[Unresolved](LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(RAW_FIR)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] val <@Anno[Unresolved](LAZY_EXPRESSION) [ResolvedTo(RAW_FIR)] F : @Anno[Unresolved](LAZY_EXPRESSION) Number> explicitType: @Anno[Unresolved](LAZY_EXPRESSION) Int
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OriginalInterface] get(): @Anno[Unresolved](LAZY_EXPRESSION) Int { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@Target[Unresolved](LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(RAW_FIR)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] val <@Anno[Unresolved](LAZY_EXPRESSION) [ResolvedTo(RAW_FIR)] F : @Anno[Unresolved](LAZY_EXPRESSION) Number> explicitType: @Anno[Unresolved](LAZY_EXPRESSION) Int
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OriginalInterface] get(): @Anno[Unresolved](LAZY_EXPRESSION) Int { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@Target[Unresolved](LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(RAW_FIR)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] val <@Anno[Unresolved](LAZY_EXPRESSION) [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] F : @Anno[Unresolved](LAZY_EXPRESSION) Number> explicitType: @Anno[Unresolved](LAZY_EXPRESSION) Int
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=OriginalInterface] get(): @Anno[Unresolved](LAZY_EXPRESSION) Int { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@Target[Unresolved](LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(RAW_FIR)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(COMPANION_GENERATION)] val <@Anno[Unresolved](LAZY_EXPRESSION) [ResolvedTo(COMPANION_GENERATION)] F : @Anno[Unresolved](LAZY_EXPRESSION) Number> explicitType: @Anno[Unresolved](LAZY_EXPRESSION) Int
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=OriginalInterface] get(): @Anno[Unresolved](LAZY_EXPRESSION) Int { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@Target[Unresolved](LAZY_EXPRESSION, LAZY_EXPRESSION, LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(SUPER_TYPES)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(SUPER_TYPES)] val <@Anno[Unresolved](LAZY_EXPRESSION) [ResolvedTo(SUPER_TYPES)] F : @Anno[Unresolved](LAZY_EXPRESSION) Number> explicitType: @Anno[Unresolved](LAZY_EXPRESSION) Int
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=OriginalInterface] get(): @Anno[Unresolved](LAZY_EXPRESSION) Int { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public? final? [ResolvedTo(TYPES)] interface OriginalInterface : R|kotlin/Any| {
public? final? [ResolvedTo(TYPES)] val <@R|Anno|[Types](LAZY_EXPRESSION) [ResolvedTo(TYPES)] F : R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Number|> explicitType: R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int|
public? [ResolvedTo(TYPES)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int| { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(STATUS)] val <@R|Anno|[Types](LAZY_EXPRESSION) [ResolvedTo(STATUS)] F : R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Number|> explicitType: R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int|
public [ResolvedTo(STATUS)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int| { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val <@R|Anno|[Types](LAZY_EXPRESSION) [ResolvedTo(EXPECT_ACTUAL_MATCHING)] F : R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Number|> explicitType: R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int|
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int| { LAZY_BLOCK }
public? final? companion [ResolvedTo(RAW_FIR)] object Companion : R|kotlin/Any| {
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final? const [ResolvedTo(RAW_FIR)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=Companion] get(): <implicit>
}
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(CONTRACTS)] val <@R|Anno|[Types](LAZY_EXPRESSION) [ResolvedTo(CONTRACTS)] F : R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Number|> explicitType: R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int| {
^ IntegerLiteral(1)
}
public final companion [ResolvedTo(STATUS)] object Companion : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final const [ResolvedTo(STATUS)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] get(): <implicit>
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[CompilerRequiredAnnotations](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class Anno : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/Anno.position] position: String): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val position: String = R|<local>/position|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Anno] get(): String
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val <@R|Anno|[Types](LAZY_EXPRESSION) [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] F : R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Number|> explicitType: R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(<strcat>(String(bound ), prop#)) kotlin/Int| {
^ IntegerLiteral(1)
}
public final companion [ResolvedTo(STATUS)] object Companion : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final const [ResolvedTo(STATUS)] val prop: <implicit> = LAZY_EXPRESSION
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] get(): <implicit>
}
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.position] position: R|kotlin/String|): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|<local>/position|
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(ANNOTATION_ARGUMENTS)] val <@R|Anno|[Types](position = <strcat>(String(type param ), <Unresolved name: prop>#)) [ResolvedTo(ANNOTATION_ARGUMENTS)] F : R|@R|Anno|(position = <strcat>(String(bound ), <Unresolved name: prop>#)) kotlin/Number|> explicitType: R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int|
public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int| {
^ IntegerLiteral(1)
}
public final companion [ResolvedTo(STATUS)] object Companion : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/Int| = Int(0)
private [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=Companion] get(): R|kotlin/Int|
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|) public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/Anno.position] position: R|kotlin/String|): R|Anno| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|<local>/position|
public [ResolvedTo(STATUS)] [ContainingClassKey=Anno] get(): R|kotlin/String|
}
public abstract [ResolvedTo(STATUS)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(BODY_RESOLVE)] val <@R|Anno|[Types](position = <strcat>(String(type param ), <Unresolved name: prop>#)) [ResolvedTo(BODY_RESOLVE)] F : R|@R|Anno|(position = <strcat>(String(bound ), <Unresolved name: prop>#)) kotlin/Number|> explicitType: R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int| {
^ Int(1)
}
public final companion [ResolvedTo(STATUS)] object Companion : R|kotlin/Any| {
private [ResolvedTo(STATUS)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
LAZY_super<R|kotlin/Any|>
}
private final const [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: R|kotlin/Int| = Int(0)
private [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=Companion] get(): R|kotlin/Int|
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] typeParameterAnnotations.kt
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.VALUE_PARAMETER|, Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|)) public final [ResolvedTo(BODY_RESOLVE)] annotation class Anno : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/Anno.position] position: R|kotlin/String|): R|Anno| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val position: R|kotlin/String| = R|<local>/position|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Anno] get(): R|kotlin/String|
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface OriginalInterface : R|kotlin/Any| {
public open [ResolvedTo(BODY_RESOLVE)] val <@R|Anno|[Types](position = <strcat>(String(type param ), <Unresolved name: prop>#)) [ResolvedTo(BODY_RESOLVE)] F : R|@R|Anno|(position = <strcat>(String(bound ), <Unresolved name: prop>#)) kotlin/Number|> explicitType: R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OriginalInterface] get(): R|@R|Anno|(position = <strcat>(String(bound ), this@R|/OriginalInterface.Companion|.R|/OriginalInterface.Companion.prop|)) kotlin/Int| {
^ Int(1)
}
public final companion [ResolvedTo(BODY_RESOLVE)] object Companion : R|kotlin/Any| {
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Companion] constructor(): R|OriginalInterface.Companion| {
super<R|kotlin/Any|>()
}
private final const [ResolvedTo(BODY_RESOLVE)] val prop: R|kotlin/Int| = Int(0)
private [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Companion] get(): R|kotlin/Int|
}
}