Generate IR for annotation class constructors.

This commit is contained in:
Pavel Kunyavskiy
2021-09-14 19:09:12 +03:00
committed by Space
parent 773c82ae48
commit a40022efcd
100 changed files with 743 additions and 244 deletions
@@ -236,6 +236,8 @@ class Fir2IrClassifierStorage(
val visibility = regularClass.visibility
val modality = if (regularClass.classKind == ClassKind.ENUM_CLASS) {
regularClass.enumClassModality()
} else if (regularClass.classKind == ClassKind.ANNOTATION_CLASS) {
Modality.OPEN
} else {
regularClass.modality ?: Modality.FINAL
}
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.ir.expressions.impl.*
import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.util.constructedClassType
import org.jetbrains.kotlin.ir.util.isAnnotationClass
import org.jetbrains.kotlin.ir.util.isSetter
import org.jetbrains.kotlin.ir.util.parentAsClass
@@ -100,7 +99,7 @@ internal class ClassMemberGenerator(
}
annotationGenerator.generate(irFunction, firFunction)
}
if (firFunction is FirConstructor && irFunction is IrConstructor && !parentAsClass.isAnnotationClass && !firFunction.isExpect) {
if (firFunction is FirConstructor && irFunction is IrConstructor && !firFunction.isExpect) {
val body = factory.createBlockBody(startOffset, endOffset)
val delegatedConstructor = firFunction.delegatedConstructor
if (delegatedConstructor != null) {
@@ -120,6 +120,8 @@ class ClassGenerator(
private fun getEffectiveModality(ktClassOrObject: KtPureClassOrObject, classDescriptor: ClassDescriptor): Modality =
when {
DescriptorUtils.isAnnotationClass(classDescriptor) ->
Modality.OPEN
!DescriptorUtils.isEnumClass(classDescriptor) ->
classDescriptor.modality
DescriptorUtils.hasAbstractMembers(classDescriptor) ->
@@ -228,7 +228,6 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
declareConstructor(ktClassOrObject, ktClassOrObject.primaryConstructor ?: ktClassOrObject, primaryConstructorDescriptor) {
if (
primaryConstructorDescriptor.isExpect ||
DescriptorUtils.isAnnotationClass(primaryConstructorDescriptor.constructedClass) ||
primaryConstructorDescriptor.constructedClass.isEffectivelyExternal()
)
null
@@ -1,32 +1,51 @@
annotation class Test1 : Annotation {
constructor(x: Int) /* primary */
open annotation class Test1 : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
}
annotation class Test2 : Annotation {
constructor(x: Int = 0) /* primary */
open annotation class Test2 : Annotation {
constructor(x: Int = 0) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
}
annotation class Test3 : Annotation {
constructor(x: Test1) /* primary */
open annotation class Test3 : Annotation {
constructor(x: Test1) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Test1
field = x
get
}
annotation class Test4 : Annotation {
constructor(vararg xs: Int) /* primary */
open annotation class Test4 : Annotation {
constructor(vararg xs: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: IntArray
field = xs
get
}
+16 -4
View File
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/annotationClasses.kt
CLASS ANNOTATION_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test1 [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -27,12 +30,15 @@ FILE fqName:<root> fileName:/annotationClasses.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value=0
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -57,10 +63,13 @@ FILE fqName:<root> fileName:/annotationClasses.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test3
CONSTRUCTOR visibility:public <> (x:<root>.Test1) returnType:<root>.Test3 [primary]
VALUE_PARAMETER name:x index:0 type:<root>.Test1
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:<root>.Test1 visibility:private [final]
EXPRESSION_BODY
@@ -85,10 +94,13 @@ FILE fqName:<root> fileName:/annotationClasses.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test4 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test4
CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:<root>.Test4 [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test4 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:private [final]
EXPRESSION_BODY
+6 -2
View File
@@ -20,8 +20,12 @@ object TestObject {
}
annotation class TestAnnotationClass : Annotation {
constructor() /* primary */
open annotation class TestAnnotationClass : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
+4 -1
View File
@@ -52,9 +52,12 @@ FILE fqName:<root> fileName:/classes.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnotationClass
CONSTRUCTOR visibility:public <> () returnType:<root>.TestAnnotationClass [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
+6 -3
View File
@@ -20,8 +20,12 @@ object TestObject {
}
annotation class TestAnnotationClass : Annotation {
constructor() /* primary */
open annotation class TestAnnotationClass : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -37,4 +41,3 @@ enum class TestEnumClass : Enum<TestEnumClass> {
fun valueOf(value: String): TestEnumClass /* Synthetic body for ENUM_VALUEOF */
}
+4 -1
View File
@@ -52,9 +52,12 @@ FILE fqName:<root> fileName:/classes.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnotationClass
CONSTRUCTOR visibility:public <> () returnType:<root>.TestAnnotationClass [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnotationClass modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,9 @@
annotation class SomeAnn : Annotation {
constructor() /* primary */
open annotation class SomeAnn : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/annotationOnClassWithInitializer.kt
CLASS ANNOTATION_CLASS name:SomeAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:SomeAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.SomeAnn
CONSTRUCTOR visibility:public <> () returnType:<root>.SomeAnn [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:SomeAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,21 +1,36 @@
annotation class A1 : Annotation {
constructor(x: Int) /* primary */
open annotation class A1 : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
}
annotation class A2 : Annotation {
constructor(a: A1) /* primary */
open annotation class A2 : Annotation {
constructor(a: A1) /* primary */ {
super/*Any*/()
/* <init>() */
}
val a: A1
field = a
get
}
annotation class AA : Annotation {
constructor(xs: Array<A1>) /* primary */
open annotation class AA : Annotation {
constructor(xs: Array<A1>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<A1>
field = xs
get
@@ -26,4 +41,3 @@ annotation class AA : Annotation {
@AA(xs = [A1(x = 1), A1(x = 2)])
fun test() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/annotationsInAnnotationArguments.kt
CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A1
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.A1 [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -27,10 +30,13 @@ FILE fqName:<root> fileName:/annotationsInAnnotationArguments.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A2
CONSTRUCTOR visibility:public <> (a:<root>.A1) returnType:<root>.A2 [primary]
VALUE_PARAMETER name:a index:0 type:<root>.A1
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:a visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:a type:<root>.A1 visibility:private [final]
EXPRESSION_BODY
@@ -55,10 +61,13 @@ FILE fqName:<root> fileName:/annotationsInAnnotationArguments.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:AA modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AA
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<<root>.A1>) returnType:<root>.AA [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<<root>.A1>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:AA modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<<root>.A1> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,9 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/annotationsOnDelegatedMembers.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,9 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/annotationsOnDelegatedMembers.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String = "", y: Int = 42) /* primary */
open annotation class A : Annotation {
constructor(x: String = "", y: Int = 42) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -29,4 +34,3 @@ fun test4() {
@A
fun test5() {
}
@@ -1,5 +1,5 @@
FILE fqName:<root> fileName:/annotationsWithDefaultParameterValues.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
@@ -8,6 +8,9 @@ FILE fqName:<root> fileName:/annotationsWithDefaultParameterValues.kt
VALUE_PARAMETER name:y index:1 type:kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(vararg xs: String) /* primary */
open annotation class A : Annotation {
constructor(vararg xs: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out String>
field = xs
get
@@ -17,4 +22,3 @@ fun test2() {
@A(xs = [])
fun test3() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/annotationsWithVarargParameters.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out kotlin.String>) returnType:<root>.A [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -1,13 +1,23 @@
annotation class TestAnnWithIntArray : Annotation {
constructor(x: IntArray) /* primary */
open annotation class TestAnnWithIntArray : Annotation {
constructor(x: IntArray) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: IntArray
field = x
get
}
annotation class TestAnnWithStringArray : Annotation {
constructor(x: Array<String>) /* primary */
open annotation class TestAnnWithStringArray : Annotation {
constructor(x: Array<String>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Array<String>
field = x
get
@@ -23,4 +33,3 @@ fun test1() {
@TestAnnWithStringArray(x = ["d", "e", "f"])
fun test2() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
CLASS ANNOTATION_CLASS name:TestAnnWithIntArray modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnWithIntArray modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnWithIntArray
CONSTRUCTOR visibility:public <> (x:kotlin.IntArray) returnType:<root>.TestAnnWithIntArray [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.IntArray
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnWithIntArray modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.IntArray visibility:private [final]
EXPRESSION_BODY
@@ -27,10 +30,13 @@ FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:TestAnnWithStringArray modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnWithStringArray modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnWithStringArray
CONSTRUCTOR visibility:public <> (x:kotlin.Array<kotlin.String>) returnType:<root>.TestAnnWithStringArray [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Array<kotlin.String>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnWithStringArray modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array<kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(klass: KClass<*>) /* primary */
open annotation class A : Annotation {
constructor(klass: KClass<*>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val klass: KClass<*>
field = klass
get
@@ -18,4 +23,3 @@ class C {
@A(klass = C::class)
fun test1() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/classLiteralInAnnotation.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (klass:kotlin.reflect.KClass<*>) returnType:<root>.A [primary]
VALUE_PARAMETER name:klass index:0 type:kotlin.reflect.KClass<*>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:klass visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:klass type:kotlin.reflect.KClass<*> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -65,7 +70,11 @@ enum class TestEnum : Enum<TestEnum> {
}
@TestAnn(x = "annotation")
annotation class TestAnnotation : Annotation {
constructor() /* primary */
open annotation class TestAnnotation : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -178,11 +181,14 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
CLASS ANNOTATION_CLASS name:TestAnnotation modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
TestAnn(x = 'annotation')
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnotation
CONSTRUCTOR visibility:public <> () returnType:<root>.TestAnnotation [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -65,8 +70,11 @@ enum class TestEnum : Enum<TestEnum> {
}
@TestAnn(x = "annotation")
annotation class TestAnnotation : Annotation {
constructor() /* primary */
open annotation class TestAnnotation : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -186,11 +189,14 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.TestEnum
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ANNOTATION_CLASS name:TestAnnotation modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
TestAnn(x = 'annotation')
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnnotation
CONSTRUCTOR visibility:public <> () returnType:<root>.TestAnnotation [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnnotation modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -2,8 +2,13 @@ const val ONE: Int
field = 1
get
annotation class A : Annotation {
constructor(x: Int) /* primary */
open annotation class A : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
@@ -17,4 +22,3 @@ fun test1() {
@A(x = 2)
fun test2() {
}
@@ -8,10 +8,13 @@ FILE fqName:<root> fileName:/constExpressionsInAnnotationArguments.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-ONE> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ONE type:kotlin.Int visibility:public [final,static]' type=kotlin.Int origin=null
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: Int) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
@@ -20,4 +25,3 @@ class TestClass {
}
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/constructorsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -1,9 +1,13 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
val test1: Int /* by */
val test1: Int /* by */
field = lazy<Int>(initializer = local fun <anonymous>(): Int {
return 42
}
@@ -11,4 +15,3 @@ val test1: Int /* by */
get(): Int {
return #test1$delegate.getValue<Int>(thisRef = null, property = ::test1)
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/delegateFieldWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -28,14 +33,14 @@ class Cell {
}
val test1: Int /* by */
val test1: Int /* by */
field = Cell(value = 1)
@A(x = "test1.get")
get(): Int {
return #test1$delegate.getValue(thisRef = null, kProp = ::test1)
}
var test2: Int /* by */
var test2: Int /* by */
field = Cell(value = 2)
@A(x = "test2.get")
get(): Int {
@@ -45,4 +50,3 @@ var test2: Int /* by */
set(@A(x = "test2.set.param") <set-?>: Int) {
return #test2$delegate.setValue(thisRef = null, kProp = ::test2, newValue = <set-?>)
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -37,4 +42,3 @@ open enum class TestEnum : Enum<TestEnum> {
fun valueOf(value: String): TestEnum /* Synthetic body for ENUM_VALUEOF */
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -19,8 +19,13 @@ enum class En : Enum<En> {
}
annotation class TestAnn : Annotation {
constructor(x: En) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: En) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: En
field = x
get
@@ -61,10 +61,13 @@ FILE fqName:<root> fileName:/enumsInAnnotationArguments.kt
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:<root>.En) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:<root>.En
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:<root>.En visibility:private [final]
EXPRESSION_BODY
@@ -19,8 +19,13 @@ enum class En : Enum<En> {
}
annotation class TestAnn : Annotation {
constructor(x: En) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: En) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: En
field = x
get
@@ -30,4 +35,3 @@ annotation class TestAnn : Annotation {
@TestAnn(x = En.A)
fun test1() {
}
@@ -69,10 +69,13 @@ FILE fqName:<root> fileName:/enumsInAnnotationArguments.kt
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.En
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:<root>.En) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:<root>.En
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:<root>.En visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -14,4 +19,3 @@ var testVar: String
field = "a var"
get
set
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/fieldsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -2,11 +2,15 @@
package test
@Target(allowedTargets = [AnnotationTarget.FILE])
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
}
@@ -1,12 +1,15 @@
FILE fqName:test fileName:/fileAnnotations.kt
annotations:
A(x = 'File annotation')
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FILE' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: Int) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
@@ -9,4 +14,3 @@ annotation class TestAnn : Annotation {
@TestAnn(x = 42)
fun testSimpleFunction() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/functionsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -1,15 +1,25 @@
package ann
annotation class Test1<T : Any?> : Annotation {
constructor(x: Int) /* primary */
open annotation class Test1<T : Any?> : Annotation {
constructor(x: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
}
annotation class Test2<T1 : Any, T2 : Any?> : Annotation {
constructor(x: Int = 0) /* primary */
open annotation class Test2<T1 : Any, T2 : Any?> : Annotation {
constructor(x: Int = 0) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Int
field = x
get
@@ -20,8 +30,13 @@ interface I<T : Any?> {
}
annotation class Test3<T1 : Any?, T2 : I<T1>> : Annotation {
constructor(x: Test1<I<T2>>) /* primary */
open annotation class Test3<T1 : Any?, T2 : I<T1>> : Annotation {
constructor(x: Test1<I<T2>>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Test1<I<T2>>
field = x
get
@@ -37,8 +52,13 @@ class C<T : Any?> : I<T> {
}
annotation class Test4 : Annotation {
constructor(x: Array<Test3<Int, C<Int>>>) /* primary */
open annotation class Test4 : Annotation {
constructor(x: Array<Test3<Int, C<Int>>>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Array<Test3<Int, C<Int>>>
field = x
get
@@ -54,8 +74,13 @@ class ARG {
}
annotation class Test5<T : Any?> : Annotation {
constructor(vararg xs: Test3<T, C<T>>) /* primary */
open annotation class Test5<T : Any?> : Annotation {
constructor(vararg xs: Test3<T, C<T>>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out Test3<T, C<T>>>
field = xs
get
@@ -75,4 +100,3 @@ class CC {
}
}
@@ -1,9 +1,12 @@
FILE fqName:ann fileName:/genericAnnotationClasses.kt
CLASS ANNOTATION_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test1<T of ann.Test1>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:ann.Test1<T of ann.Test1> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -28,7 +31,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test2<T1 of ann.Test2, T2 of ann.Test2>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?]
@@ -36,6 +39,9 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
VALUE_PARAMETER name:x index:0 type:kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value=0
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
@@ -76,12 +82,15 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test3<T1 of ann.Test3, T2 of ann.Test3>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[ann.I<T1 of ann.Test3>]
CONSTRUCTOR visibility:public <> (x:ann.Test1<ann.I<T2 of ann.Test3>>) returnType:ann.Test3<T1 of ann.Test3, T2 of ann.Test3> [primary]
VALUE_PARAMETER name:x index:0 type:ann.Test1<ann.I<T2 of ann.Test3>>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:ann.Test1<ann.I<T2 of ann.Test3>> visibility:private [final]
EXPRESSION_BODY
@@ -126,10 +135,13 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in ann.I
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test4 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test4
CONSTRUCTOR visibility:public <> (x:kotlin.Array<ann.Test3<kotlin.Int, ann.C<kotlin.Int>>>) returnType:ann.Test4 [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Array<ann.Test3<kotlin.Int, ann.C<kotlin.Int>>>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test4 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Array<ann.Test3<kotlin.Int, ann.C<kotlin.Int>>> visibility:private [final]
EXPRESSION_BODY
@@ -173,11 +185,14 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test5 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Test5 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test5<T of ann.Test5>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>>>) returnType:ann.Test5<T of ann.Test5> [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>>> varargElementType:ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>> [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test5 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>>> visibility:private [final]
EXPRESSION_BODY
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/C.kt
CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Anno
CONSTRUCTOR visibility:public <> (token:kotlin.String) returnType:<root>.Anno [primary]
VALUE_PARAMETER name:token index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:token visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:token type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -88,10 +91,13 @@ FILE fqName:<root> fileName:/C.kt
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ANNOTATION_CLASS name:Annos modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Annos modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Annos
CONSTRUCTOR visibility:public <> (value:kotlin.Array<<root>.Anno>) returnType:<root>.Annos [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<<root>.Anno>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Annos modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.Anno> visibility:private [final]
EXPRESSION_BODY
@@ -116,10 +122,13 @@ FILE fqName:<root> fileName:/C.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Strings modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Strings modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Strings
CONSTRUCTOR visibility:public <> (value:kotlin.Array<kotlin.String>) returnType:<root>.Strings [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<kotlin.String>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Strings modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -144,10 +153,13 @@ FILE fqName:<root> fileName:/C.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Ints modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ints modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ints
CONSTRUCTOR visibility:public <> (value:kotlin.IntArray) returnType:<root>.Ints [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.IntArray
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ints modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.IntArray visibility:private [final]
EXPRESSION_BODY
@@ -172,10 +184,13 @@ FILE fqName:<root> fileName:/C.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Enums modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Enums modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Enums
CONSTRUCTOR visibility:public <> (value:kotlin.Array<<root>.E>) returnType:<root>.Enums [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<<root>.E>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Enums modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.E> visibility:private [final]
EXPRESSION_BODY
@@ -200,10 +215,13 @@ FILE fqName:<root> fileName:/C.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Classes modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Classes modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Classes
CONSTRUCTOR visibility:public <> (value:kotlin.Array<kotlin.reflect.KClass<*>>) returnType:<root>.Classes [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<kotlin.reflect.KClass<*>>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Classes modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.reflect.KClass<*>> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/localDelegatedPropertiesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -18,4 +23,3 @@ fun foo(m: Map<String, Int>) {
}
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/localDelegatedPropertiesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,15 +1,27 @@
annotation class A1 : Annotation {
constructor() /* primary */
open annotation class A1 : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
annotation class A2 : Annotation {
constructor() /* primary */
open annotation class A2 : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
annotation class A3 : Annotation {
constructor() /* primary */
open annotation class A3 : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -18,4 +30,3 @@ annotation class A3 : Annotation {
@A3
fun test() {
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/multipleAnnotationsInSquareBrackets.kt
CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A1
CONSTRUCTOR visibility:public <> () returnType:<root>.A1 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -15,9 +18,12 @@ FILE fqName:<root> fileName:/multipleAnnotationsInSquareBrackets.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A2
CONSTRUCTOR visibility:public <> () returnType:<root>.A2 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -31,9 +37,12 @@ FILE fqName:<root> fileName:/multipleAnnotationsInSquareBrackets.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:A3 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A3
CONSTRUCTOR visibility:public <> () returnType:<root>.A3 [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,9 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -15,4 +19,3 @@ class Test {
get
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/primaryConstructorParameterWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -10,4 +15,3 @@ annotation class TestAnn : Annotation {
val testVal: String
field = ""
get
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/propertiesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(x: String) /* primary */
open annotation class A : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -26,4 +31,3 @@ class C {
set
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/propertyAccessorsFromClassHeaderWithAnnotations.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.A [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -32,4 +37,3 @@ var test4: String
get
@TestAnn(x = "test4.set")
set
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/propertyAccessorsWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,9 @@
annotation class AnnParam : Annotation {
constructor() /* primary */
open annotation class AnnParam : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -21,4 +25,3 @@ class C {
set
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/propertySetterParameterWithAnnotations.kt
CLASS ANNOTATION_CLASS name:AnnParam modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:AnnParam modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AnnParam
CONSTRUCTOR visibility:public <> () returnType:<root>.AnnParam [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:AnnParam modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,9 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,9 @@
annotation class Ann : Annotation {
constructor() /* primary */
open annotation class Ann : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -29,4 +33,3 @@ val String.topLevelP: String
get(): String {
return ""
}
@@ -1,7 +1,10 @@
FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Ann modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(vararg xs: String) /* primary */
open annotation class A : Annotation {
constructor(vararg xs: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out String>
field = xs
get
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/spreadOperatorInAnnotationArguments.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out kotlin.String>) returnType:<root>.A [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class A : Annotation {
constructor(vararg xs: String) /* primary */
open annotation class A : Annotation {
constructor(vararg xs: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out String>
field = xs
get
@@ -9,4 +14,3 @@ annotation class A : Annotation {
@A(xs = [["a"], ["b"]])
fun test() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/spreadOperatorInAnnotationArguments.kt
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out kotlin.String>) returnType:<root>.A [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -1,8 +1,13 @@
@TestAnn(x = "TestTypeAlias")
typealias TestTypeAlias = String
@Target(allowedTargets = [AnnotationTarget.TYPEALIAS])
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -2,12 +2,15 @@ FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
TYPEALIAS name:TestTypeAlias visibility:public expandedType:kotlin.String
annotations:
TestAnn(x = 'TestTypeAlias')
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,6 +1,11 @@
@Target(allowedTargets = [AnnotationTarget.TYPEALIAS])
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -1,10 +1,13 @@
FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,9 +1,12 @@
@Target(allowedTargets = [AnnotationTarget.TYPE_PARAMETER])
annotation class Anno : Annotation {
constructor() /* primary */
open annotation class Anno : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
fun <@Anno T : Any?> foo() {
}
@@ -1,9 +1,12 @@
FILE fqName:<root> fileName:/typeParametersWithAnnotations.kt
CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Anno
CONSTRUCTOR visibility:public <> () returnType:<root>.Anno [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -21,4 +26,3 @@ class TestClassConstructor1 {
get
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/valueParametersWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,21 +1,36 @@
annotation class A1 : Annotation {
constructor(vararg xs: Int) /* primary */
open annotation class A1 : Annotation {
constructor(vararg xs: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: IntArray
field = xs
get
}
annotation class A2 : Annotation {
constructor(vararg xs: String) /* primary */
open annotation class A2 : Annotation {
constructor(vararg xs: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out String>
field = xs
get
}
annotation class AA : Annotation {
constructor(vararg xs: A1) /* primary */
open annotation class AA : Annotation {
constructor(vararg xs: A1) /* primary */ {
super/*Any*/()
/* <init>() */
}
val xs: Array<out A1>
field = xs
get
@@ -33,4 +48,3 @@ fun test1() {
@AA(xs = [])
fun test2() {
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
CLASS ANNOTATION_CLASS name:A1 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A1
CONSTRUCTOR visibility:public <> (xs:kotlin.IntArray) returnType:<root>.A1 [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.IntArray varargElementType:kotlin.Int [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.IntArray visibility:private [final]
EXPRESSION_BODY
@@ -27,10 +30,13 @@ FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:A2 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A2
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out kotlin.String>) returnType:<root>.A2 [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:A2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out kotlin.String> visibility:private [final]
EXPRESSION_BODY
@@ -55,10 +61,13 @@ FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:AA modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:AA modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AA
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out <root>.A1>) returnType:<root>.AA [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out <root>.A1> varargElementType:<root>.A1 [vararg]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:AA modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:xs visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:xs type:kotlin.Array<out <root>.A1> visibility:private [final]
EXPRESSION_BODY
@@ -1,5 +1,10 @@
annotation class TestAnn : Annotation {
constructor(x: String) /* primary */
open annotation class TestAnn : Annotation {
constructor(x: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: String
field = x
get
@@ -12,4 +17,3 @@ fun foo() {
@TestAnn(x = "foo/testVar")
var testVar: String = "testVar"
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/variablesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TestAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:x visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,8 +1,12 @@
// FILE: signedToUnsignedConversions_annotation.kt
package kotlin.internal
annotation class ImplicitIntegerCoercion : Annotation {
constructor() /* primary */
open annotation class ImplicitIntegerCoercion : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -65,4 +69,3 @@ fun test() {
takeULong(u = <get-IMPLICIT_INT>().toULong())
takeUBytes(u = [<get-IMPLICIT_INT>().toUByte(), <get-EXPLICIT_INT>().toUByte(), 42B])
}
@@ -1,7 +1,10 @@
FILE fqName:kotlin.internal fileName:/signedToUnsignedConversions_annotation.kt
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:kotlin.internal.ImplicitIntegerCoercion
CONSTRUCTOR visibility:public <> () returnType:kotlin.internal.ImplicitIntegerCoercion [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:ImplicitIntegerCoercion modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -1,13 +1,23 @@
annotation class Storage : Annotation {
constructor(value: String) /* primary */
open annotation class Storage : Annotation {
constructor(value: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val value: String
field = value
get
}
annotation class State : Annotation {
constructor(name: String, storages: Array<Storage>) /* primary */
open annotation class State : Annotation {
constructor(name: String, storages: Array<Storage>) /* primary */ {
super/*Any*/()
/* <init>() */
}
val name: String
field = name
get
@@ -27,4 +37,3 @@ class Test {
}
}
@@ -1,8 +1,11 @@
FILE fqName:<root> fileName:/AnnotationInAnnotation.kt
CLASS ANNOTATION_CLASS name:Storage modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:Storage modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Storage
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Storage [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Storage modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -27,11 +30,14 @@ FILE fqName:<root> fileName:/AnnotationInAnnotation.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:State modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:State modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.State
CONSTRUCTOR visibility:public <> (name:kotlin.String, storages:kotlin.Array<<root>.Storage>) returnType:<root>.State [primary]
VALUE_PARAMETER name:name index:0 type:kotlin.String
VALUE_PARAMETER name:storages index:1 type:kotlin.Array<<root>.Storage>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:State modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:name visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -1,6 +1,11 @@
@Target(allowedTargets = [AnnotationTarget.TYPE])
annotation class TypeAnn : Annotation {
constructor(name: String) /* primary */
open annotation class TypeAnn : Annotation {
constructor(name: String) /* primary */ {
super/*Any*/()
/* <init>() */
}
val name: String
field = name
get
@@ -8,15 +13,23 @@ annotation class TypeAnn : Annotation {
}
@Target(allowedTargets = [AnnotationTarget.TYPE_PARAMETER])
annotation class TypeParameterAnn : Annotation {
constructor() /* primary */
open annotation class TypeParameterAnn : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@Target(allowedTargets = [AnnotationTarget.TYPE_PARAMETER])
@Retention(value = AnnotationRetention.BINARY)
annotation class TypeParameterAnnBinary : Annotation {
constructor() /* primary */
open annotation class TypeParameterAnnBinary : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
@@ -1,10 +1,13 @@
FILE fqName:<root> fileName:/TypeParameterBounds.kt
CLASS ANNOTATION_CLASS name:TypeAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TypeAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TypeAnn
CONSTRUCTOR visibility:public <> (name:kotlin.String) returnType:<root>.TypeAnn [primary]
VALUE_PARAMETER name:name index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TypeAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
PROPERTY name:name visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]
EXPRESSION_BODY
@@ -29,11 +32,14 @@ FILE fqName:<root> fileName:/TypeParameterBounds.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:TypeParameterAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TypeParameterAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TypeParameterAnn
CONSTRUCTOR visibility:public <> () returnType:<root>.TypeParameterAnn [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TypeParameterAnn modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
@@ -47,12 +53,15 @@ FILE fqName:<root> fileName:/TypeParameterBounds.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:TypeParameterAnnBinary modality:FINAL visibility:public superTypes:[kotlin.Annotation]
CLASS ANNOTATION_CLASS name:TypeParameterAnnBinary modality:OPEN visibility:public superTypes:[kotlin.Annotation]
annotations:
Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget])
Retention(value = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:BINARY' type=kotlin.annotation.AnnotationRetention)
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TypeParameterAnnBinary
CONSTRUCTOR visibility:public <> () returnType:<root>.TypeParameterAnnBinary [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:TypeParameterAnnBinary modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.Annotation
+4 -1
View File
@@ -84,9 +84,12 @@
@-1:-1..-1 FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.Test5
@-1:-1..-1 VALUE_PARAMETER name:value index:0 type:kotlin.String
@-1:-1..-1 SYNTHETIC_BODY kind=ENUM_VALUEOF
@21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:FINAL visibility:public superTypes:[kotlin.Annotation]
@21:0..22:11 CLASS ANNOTATION_CLASS name:Test6 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
@21:0..22:11 VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test6
@22:0..11 CONSTRUCTOR visibility:public <> () returnType:<root>.Test6 [primary]
@21:0..22:11 BLOCK_BODY
@21:0..22:11 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@21:0..22:11 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Test6 modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
@22:0..11 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@21:0..22:11 VALUE_PARAMETER name:<this> type:kotlin.Any
@22:0..11 VALUE_PARAMETER name:other index:0 type:kotlin.Any?