psi2ir: Merge constant entries in string template expressions

This is required to handle UCNs properly, see KT-28006.

 #KT-28006
This commit is contained in:
Dmitry Petrov
2018-11-06 18:00:35 +03:00
parent 6bb5e028a5
commit bd1491ac8a
84 changed files with 476 additions and 351 deletions
@@ -4,7 +4,7 @@ FILE fqName:<root> fileName:/annotationsWithDefaultParameterValues.kt
CONSTRUCTOR visibility:public <> (x:kotlin.String, y:kotlin.Int) returnType:A flags:primary
VALUE_PARAMETER name:x index:0 type:kotlin.String flags:
EXPRESSION_BODY
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
@@ -46,18 +46,18 @@ FILE fqName:<root> fileName:/annotationsWithDefaultParameterValues.kt
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(String = ..., Int = ...)' type=A origin=null
x: CONST String type=kotlin.String value=abc
x: CONST String type=kotlin.String value="abc"
y: CONST Int type=kotlin.Int value=123
BLOCK_BODY
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(String = ..., Int = ...)' type=A origin=null
x: CONST String type=kotlin.String value=def
x: CONST String type=kotlin.String value="def"
BLOCK_BODY
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(String = ..., Int = ...)' type=A origin=null
x: CONST String type=kotlin.String value=ghi
x: CONST String type=kotlin.String value="ghi"
BLOCK_BODY
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
@@ -31,14 +31,14 @@ FILE fqName:<root> fileName:/annotationsWithVarargParameters.kt
annotations:
CALL 'constructor A(vararg String)' type=A origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=abc
CONST String type=kotlin.String value=def
CONST String type=kotlin.String value="abc"
CONST String type=kotlin.String value="def"
BLOCK_BODY
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(vararg String)' type=A origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=abc
CONST String type=kotlin.String value="abc"
BLOCK_BODY
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
@@ -64,9 +64,9 @@ FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
CONST Int type=kotlin.Int value=3
CALL 'constructor TestAnnWithStringArray(Array<String>)' type=TestAnnWithStringArray origin=null
x: VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value=c
CONST String type=kotlin.String value="a"
CONST String type=kotlin.String value="b"
CONST String type=kotlin.String value="c"
CALL 'constructor TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null
x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
CONST Int type=kotlin.Int value=1
@@ -74,9 +74,9 @@ FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
CONST Int type=kotlin.Int value=3
CALL 'constructor TestAnnWithStringArray(Array<String>)' type=TestAnnWithStringArray origin=null
x: VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value=c
CONST String type=kotlin.String value="a"
CONST String type=kotlin.String value="b"
CONST String type=kotlin.String value="c"
BLOCK_BODY
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
@@ -87,9 +87,9 @@ FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
CONST Int type=kotlin.Int value=6
CALL 'constructor TestAnnWithStringArray(Array<String>)' type=TestAnnWithStringArray origin=null
x: VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=d
CONST String type=kotlin.String value=e
CONST String type=kotlin.String value=f
CONST String type=kotlin.String value="d"
CONST String type=kotlin.String value="e"
CONST String type=kotlin.String value="f"
CALL 'constructor TestAnnWithIntArray(IntArray)' type=TestAnnWithIntArray origin=null
x: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
CONST Int type=kotlin.Int value=4
@@ -97,8 +97,8 @@ FILE fqName:<root> fileName:/arrayInAnnotationArguments.kt
CONST Int type=kotlin.Int value=6
CALL 'constructor TestAnnWithStringArray(Array<String>)' type=TestAnnWithStringArray origin=null
x: VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=d
CONST String type=kotlin.String value=e
CONST String type=kotlin.String value=f
CONST String type=kotlin.String value="d"
CONST String type=kotlin.String value="e"
CONST String type=kotlin.String value="f"
BLOCK_BODY
@@ -30,7 +30,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS CLASS name:TestClass modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=class
x: CONST String type=kotlin.String value="class"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestClass flags:
CONSTRUCTOR visibility:public <> () returnType:TestClass flags:primary
BLOCK_BODY
@@ -52,7 +52,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public flags: superTypes:[kotlin.Any]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=interface
x: CONST String type=kotlin.String value="interface"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestInterface flags:
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
overridden:
@@ -70,7 +70,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS OBJECT name:TestObject modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=object
x: CONST String type=kotlin.String value="object"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestObject flags:
CONSTRUCTOR visibility:private <> () returnType:TestObject flags:primary
BLOCK_BODY
@@ -98,7 +98,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS OBJECT name:TestCompanion modality:FINAL visibility:public flags:companion superTypes:[kotlin.Any]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=companion
x: CONST String type=kotlin.String value="companion"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Host.TestCompanion flags:
CONSTRUCTOR visibility:private <> () returnType:Host.TestCompanion flags:primary
BLOCK_BODY
@@ -133,7 +133,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public flags: superTypes:[kotlin.Enum<TestEnum>]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=enum
x: CONST String type=kotlin.String value="enum"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestEnum flags:
CONSTRUCTOR visibility:private <> () returnType:TestEnum flags:primary
BLOCK_BODY
@@ -190,7 +190,7 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
CLASS ANNOTATION_CLASS name:TestAnnotation modality:FINAL visibility:public flags: superTypes:[kotlin.Annotation]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=annotation
x: CONST String type=kotlin.String value="annotation"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestAnnotation flags:
CONSTRUCTOR visibility:public <> () returnType:TestAnnotation flags:primary
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
@@ -91,7 +91,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Int flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=test1.get
x: CONST String type=kotlin.String value="test1.get"
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:delegated,val
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): Int'
@@ -107,7 +107,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:kotlin.Int flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=test2.get
x: CONST String type=kotlin.String value="test2.get"
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:delegated,var
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): Int'
@@ -118,12 +118,12 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test2> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=test2.set
x: CONST String type=kotlin.String value="test2.set"
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:delegated,var
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=test2.set.param
x: CONST String type=kotlin.String value="test2.set.param"
BLOCK_BODY
RETURN type=kotlin.Nothing from='<set-test2>(Int): Unit'
CALL 'setValue(Any?, Any?, Int): Unit' type=kotlin.Unit origin=null
@@ -37,17 +37,17 @@ FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
ENUM_ENTRY name:ENTRY1
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY1
x: CONST String type=kotlin.String value="ENTRY1"
init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum()'
ENUM_ENTRY name:ENTRY2
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY2
x: CONST String type=kotlin.String value="ENTRY2"
init: ENUM_CONSTRUCTOR_CALL 'constructor ENTRY2()'
class: CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:public flags: superTypes:[TestEnum]
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=ENTRY2
x: CONST String type=kotlin.String value="ENTRY2"
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestEnum.ENTRY2 flags:
CONSTRUCTOR visibility:private <> () returnType:TestEnum.ENTRY2 flags:primary
BLOCK_BODY
@@ -31,9 +31,9 @@ FILE fqName:<root> fileName:/fieldsWithAnnotations.kt
FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:final,static
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=testVal.field
x: CONST String type=kotlin.String value="testVal.field"
EXPRESSION_BODY
CONST String type=kotlin.String value=a val
CONST String type=kotlin.String value="a val"
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testVal> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:val
BLOCK_BODY
@@ -43,9 +43,9 @@ FILE fqName:<root> fileName:/fieldsWithAnnotations.kt
FIELD PROPERTY_BACKING_FIELD name:testVar type:kotlin.String visibility:public flags:static
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=testVar.field
x: CONST String type=kotlin.String value="testVar.field"
EXPRESSION_BODY
CONST String type=kotlin.String value=a var
CONST String type=kotlin.String value="a var"
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testVar> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testVar visibility:public modality:FINAL flags:var
BLOCK_BODY
@@ -3,7 +3,7 @@ FILE fqName:test fileName:/fileAnnotations.kt
@test.A(x = "File annotation")
annotations:
CALL 'constructor A(String)' type=test.A origin=null
x: CONST String type=kotlin.String value=File annotation
x: CONST String type=kotlin.String value="File annotation"
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public flags: superTypes:[kotlin.Annotation]
annotations:
CALL 'constructor Target(vararg AnnotationTarget)' type=kotlin.annotation.Target origin=null
@@ -6,13 +6,13 @@ FILE fqName:<root> fileName:/javaAnnotation.kt
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor JavaAnn(String = ..., Int = ...)' type=JavaAnn origin=null
value: CONST String type=kotlin.String value=abc
value: CONST String type=kotlin.String value="abc"
i: CONST Int type=kotlin.Int value=123
BLOCK_BODY
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
annotations:
CALL 'constructor JavaAnn(String = ..., Int = ...)' type=JavaAnn origin=null
value: CONST String type=kotlin.String value=abc
value: CONST String type=kotlin.String value="abc"
i: CONST Int type=kotlin.Int value=123
BLOCK_BODY
@@ -33,7 +33,7 @@ FILE fqName:<root> fileName:/localDelegatedPropertiesWithAnnotations.kt
LOCAL_DELEGATED_PROPERTY name:test type:kotlin.Int flags:val
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=foo/test
x: CONST String type=kotlin.String value="foo/test"
VAR DELEGATE name:test$delegate type:kotlin.Lazy<kotlin.Int> flags:val
CALL 'lazy(() -> Int): Lazy<Int>' type=kotlin.Lazy<kotlin.Int> origin=null
<T>: kotlin.Int
@@ -30,10 +30,10 @@ FILE fqName:<root> fileName:/propertiesWithAnnotations.kt
PROPERTY name:testVal visibility:public modality:FINAL flags:val
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=testVal.property
x: CONST String type=kotlin.String value="testVal.property"
FIELD PROPERTY_BACKING_FIELD name:testVal type:kotlin.String visibility:public flags:final,static
EXPRESSION_BODY
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testVal> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testVal visibility:public modality:FINAL flags:val
BLOCK_BODY
@@ -42,7 +42,7 @@ FILE fqName:<root> fileName:/propertyAccessorsFromClassHeaderWithAnnotations.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:C) returnType:kotlin.Int flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=C.x.get
x: CONST String type=kotlin.String value="C.x.get"
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:C flags:
BLOCK_BODY
@@ -56,7 +56,7 @@ FILE fqName:<root> fileName:/propertyAccessorsFromClassHeaderWithAnnotations.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:C) returnType:kotlin.Int flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=C.y.get
x: CONST String type=kotlin.String value="C.y.get"
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:var
$this: VALUE_PARAMETER name:<this> type:C flags:
BLOCK_BODY
@@ -66,7 +66,7 @@ FILE fqName:<root> fileName:/propertyAccessorsFromClassHeaderWithAnnotations.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-y> visibility:public modality:FINAL <> ($this:C, <set-?>:kotlin.Int) returnType:kotlin.Unit flags:
annotations:
CALL 'constructor A(String)' type=A origin=null
x: CONST String type=kotlin.String value=C.y.set
x: CONST String type=kotlin.String value="C.y.set"
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:var
$this: VALUE_PARAMETER name:<this> type:C flags:
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
@@ -31,35 +31,35 @@ FILE fqName:<root> fileName:/propertyAccessorsWithAnnotations.kt
FUN name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test1.get
x: CONST String type=kotlin.String value="test1.get"
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:val
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test1>(): String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
PROPERTY name:test2 visibility:public modality:FINAL flags:var
FUN name:<get-test2> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test2.get
x: CONST String type=kotlin.String value="test2.get"
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:var
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test2>(): String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
FUN name:<set-test2> visibility:public modality:FINAL <> (value:kotlin.String) returnType:kotlin.Unit flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test2.set
x: CONST String type=kotlin.String value="test2.set"
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:var
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
BLOCK_BODY
PROPERTY name:test3 visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.String visibility:public flags:final,static
EXPRESSION_BODY
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test3.get
x: CONST String type=kotlin.String value="test3.get"
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:val
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test3>(): String'
@@ -67,11 +67,11 @@ FILE fqName:<root> fileName:/propertyAccessorsWithAnnotations.kt
PROPERTY name:test4 visibility:public modality:FINAL flags:var
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.String visibility:public flags:static
EXPRESSION_BODY
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test4.get
x: CONST String type=kotlin.String value="test4.get"
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:var
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-test4>(): String'
@@ -79,7 +79,7 @@ FILE fqName:<root> fileName:/propertyAccessorsWithAnnotations.kt
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=test4.set
x: CONST String type=kotlin.String value="test4.set"
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:var
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String flags:
BLOCK_BODY
@@ -28,7 +28,7 @@ FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CALL 'constructor Ann()' type=Ann origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='f() on String: String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
PROPERTY name:p visibility:public modality:FINAL flags:val
FUN name:<get-p> visibility:public modality:FINAL <> ($this:A, $receiver:kotlin.String?) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:p visibility:public modality:FINAL flags:val
@@ -38,7 +38,7 @@ FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CALL 'constructor Ann()' type=Ann origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-p>() on String?: String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
@@ -58,7 +58,7 @@ FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CALL 'constructor Ann()' type=Ann origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='topLevelF() on String?: String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
PROPERTY name:topLevelP visibility:public modality:FINAL flags:val
FUN name:<get-topLevelP> visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:topLevelP visibility:public modality:FINAL flags:val
@@ -67,5 +67,4 @@ FILE fqName:<root> fileName:/receiverParameterWithAnnotations.kt
CALL 'constructor Ann()' type=Ann origin=null
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-topLevelP>() on String: String'
CONST String type=kotlin.String value=
CONST String type=kotlin.String value=""
@@ -32,7 +32,7 @@ FILE fqName:<root> fileName:/spreadOperatorInAnnotationArguments.kt
CALL 'constructor A(vararg String)' type=A origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value="a"
VARARG type=kotlin.Array<kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value="b"
BLOCK_BODY
@@ -34,4 +34,4 @@ FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
TYPEALIAS typealias TestTypeAlias = String type=kotlin.String
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=TestTypeAlias
x: CONST String type=kotlin.String value="TestTypeAlias"
@@ -31,7 +31,7 @@ FILE fqName:<root> fileName:/valueParametersWithAnnotations.kt
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=testFun.x
x: CONST String type=kotlin.String value="testFun.x"
BLOCK_BODY
CLASS CLASS name:TestClassConstructor1 modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:TestClassConstructor1 flags:
@@ -39,7 +39,7 @@ FILE fqName:<root> fileName:/valueParametersWithAnnotations.kt
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=TestClassConstructor1.x
x: CONST String type=kotlin.String value="TestClassConstructor1.x"
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='TestClassConstructor1'
@@ -92,9 +92,9 @@ FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
CONST Int type=kotlin.Int value=3
CALL 'constructor A2(vararg String)' type=A2 origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value=c
CONST String type=kotlin.String value="a"
CONST String type=kotlin.String value="b"
CONST String type=kotlin.String value="c"
CALL 'constructor AA(vararg A1)' type=AA origin=null
xs: VARARG type=kotlin.Array<out A1> varargElementType=A1
CALL 'constructor A1(vararg Int)' type=A1 origin=null
@@ -113,9 +113,9 @@ FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
CONST Int type=kotlin.Int value=3
CALL 'constructor A2(vararg String)' type=A2 origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value=c
CONST String type=kotlin.String value="a"
CONST String type=kotlin.String value="b"
CONST String type=kotlin.String value="c"
CALL 'constructor AA(vararg A1)' type=AA origin=null
xs: VARARG type=kotlin.Array<out A1> varargElementType=A1
CALL 'constructor A1(vararg Int)' type=A1 origin=null
@@ -134,9 +134,9 @@ FILE fqName:<root> fileName:/varargsInAnnotationArguments.kt
CONST Int type=kotlin.Int value=3
CALL 'constructor A2(vararg String)' type=A2 origin=null
xs: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
CONST String type=kotlin.String value=a
CONST String type=kotlin.String value=b
CONST String type=kotlin.String value=c
CONST String type=kotlin.String value="a"
CONST String type=kotlin.String value="b"
CONST String type=kotlin.String value="c"
CALL 'constructor AA(vararg A1)' type=AA origin=null
xs: VARARG type=kotlin.Array<out A1> varargElementType=A1
CALL 'constructor A1(vararg Int)' type=A1 origin=null
@@ -32,11 +32,10 @@ FILE fqName:<root> fileName:/variablesWithAnnotations.kt
VAR name:testVal type:kotlin.String flags:val
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=foo/testVal
CONST String type=kotlin.String value=testVal
x: CONST String type=kotlin.String value="foo/testVal"
CONST String type=kotlin.String value="testVal"
VAR name:testVar type:kotlin.String flags:var
annotations:
CALL 'constructor TestAnn(String)' type=TestAnn origin=null
x: CONST String type=kotlin.String value=foo/testVar
CONST String type=kotlin.String value=testVar
x: CONST String type=kotlin.String value="foo/testVar"
CONST String type=kotlin.String value="testVar"