Files
kotlin-fork/compiler/testData/codegen/box/annotations/javaTargetOnPrimaryCtorParameter.fir.txt
T
Mikhail Glukhikh dc38ce24f7 K2: fix field annotation splitting and frontend checks
Related to KT-57135
2023-04-25 12:18:26 +00:00

36 lines
2.7 KiB
Plaintext
Vendored

FILE: test.kt
public final class Foo : R|kotlin/Any| {
public constructor(@R|NoTarget|() @R|PropValueField|() @R|ParameterOnly|() param: R|kotlin/Int|): R|Foo| {
super<R|kotlin/Any|>()
}
field:@R|FieldOnly|() public final var param: R|kotlin/Int| = R|<local>/param|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
}
public final fun box(): R|kotlin/String| {
lval clazz: R|kotlin/reflect/KClass<Foo>| = <getClass>(Q|Foo|)
lval parameterAnnotations: R|kotlin/collections/Set<kotlin/String>| = R|<local>/clazz|.R|SubstitutionOverride<kotlin/reflect/KClass.constructors: R|kotlin/collections/Collection<kotlin/reflect/KFunction<Foo>>|>|.R|kotlin/collections/single|<R|kotlin/reflect/KFunction<Foo>|>().R|SubstitutionOverride<kotlin/reflect/KFunction.parameters: R|kotlin/collections/List<kotlin/reflect/KParameter>|>|.R|kotlin/collections/single|<R|kotlin/reflect/KParameter|>().R|kotlin/reflect/KAnnotatedElement.annotations|.R|kotlin/collections/map|<R|kotlin/Annotation|, R|kotlin/String|>(<L> = map@fun <anonymous>(it: R|kotlin/Annotation|): R|kotlin/String| <inline=Inline, kind=UNKNOWN> {
^ R|<local>/it|.R|kotlin/jvm/annotationClass|<R|kotlin/Annotation|>.R|SubstitutionOverride<kotlin/reflect/KClass.simpleName: R|kotlin/String?|>| ?: String()
}
).R|kotlin/collections/toSet|<R|kotlin/String|>()
lval fieldAnnotations: R|kotlin/collections/Set<kotlin/String>| = <getClass>(Q|Foo|).R|kotlin/jvm/java|<R|Foo|>.R|SubstitutionOverride<java/lang/Class.getDeclaredField: R|java/lang/reflect/Field!|>|(String(param)).R|java/lang/reflect/AccessibleObject.annotations|.R|kotlin/collections/map|<R|kotlin/Annotation!|, R|kotlin/String|>(<L> = map@fun <anonymous>(it: R|kotlin/Annotation!|): R|kotlin/String| <inline=Inline, kind=UNKNOWN> {
^ R|<local>/it|.R|kotlin/jvm/annotationClass|<R|kotlin/Annotation!|>.R|SubstitutionOverride<kotlin/reflect/KClass.simpleName: R|kotlin/String?|>| ?: String()
}
).R|kotlin/collections/toSet|<R|kotlin/String|>()
when () {
!=(R|<local>/parameterAnnotations|, R|kotlin/collections/setOf|<R|kotlin/String|>(vararg(String(NoTarget), String(PropValueField), String(ParameterOnly)))) -> {
^box String(Parameters:).R|kotlin/String.plus|(R|<local>/parameterAnnotations|)
}
}
when () {
!=(R|<local>/fieldAnnotations|, R|kotlin/collections/setOf|<R|kotlin/String|>(String(FieldOnly))) -> {
^box String(Field:).R|kotlin/String.plus|(R|<local>/fieldAnnotations|)
}
}
^box String(OK)
}