Files
kotlin-fork/compiler/testData/ir/irText/declarations/parameters/constructor.txt
T
Dmitry Petrov bd1491ac8a psi2ir: Merge constant entries in string template expressions
This is required to handle UCNs properly, see KT-28006.

 #KT-28006
2018-11-08 12:29:15 +03:00

210 lines
15 KiB
Plaintext
Vendored

FILE fqName:<root> fileName:/constructor.kt
CLASS CLASS name:Test1 modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test1<T1, T2> flags:
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T1, y:T2) returnType:Test1<T1, T2> flags:primary
VALUE_PARAMETER name:x index:0 type:T1 flags:
VALUE_PARAMETER name:y index:1 type:T2 flags:
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
PROPERTY name:x visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:x type:T1 visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter x: T1' type=T1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:Test1<T1, T2>) returnType:T1 flags:
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test1<T1, T2> flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x>(): T1'
GET_FIELD 'x: T1' type=T1 origin=null
receiver: GET_VAR 'this@Test1: Test1<T1, T2>' type=Test1<T1, T2> origin=null
PROPERTY name:y visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:y type:T2 visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter y: T2' type=T2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:Test1<T1, T2>) returnType:T2 flags:
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test1<T1, T2> flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-y>(): T2'
GET_FIELD 'y: T2' type=T2 origin=null
receiver: GET_VAR 'this@Test1: Test1<T1, T2>' type=Test1<T1, T2> origin=null
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:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:Test2 modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test2 flags:
CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:Test2 flags:primary
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
VALUE_PARAMETER name:y index:1 type:kotlin.String flags:
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
PROPERTY name:y visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter y: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:Test2) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test2 flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-y>(): String'
GET_FIELD 'y: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Test2: Test2' type=Test2 origin=null
CLASS CLASS name:TestInner modality:FINAL visibility:public flags:inner superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test2.TestInner<Z> flags:
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> ($this:Test2, z:Z) returnType:Test2.TestInner<Z> flags:primary
$outer: VALUE_PARAMETER name:<this> type:Test2 flags:
VALUE_PARAMETER name:z index:0 type:Z flags:
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='TestInner'
PROPERTY name:z visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:z type:Z visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter z: Z' type=Z origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-z> visibility:public modality:FINAL <> ($this:Test2.TestInner<Z>) returnType:Z flags:
correspondingProperty: PROPERTY name:z visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test2.TestInner<Z> flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-z>(): Z'
GET_FIELD 'z: Z' type=Z origin=null
receiver: GET_VAR 'this@TestInner: TestInner<Z>' type=Test2.TestInner<Z> origin=null
CONSTRUCTOR visibility:public <> ($this:Test2, z:Z, i:kotlin.Int) returnType:Test2.TestInner<Z> flags:
$outer: VALUE_PARAMETER name:<this> type:Test2 flags:
VALUE_PARAMETER name:z index:0 type:Z flags:
VALUE_PARAMETER name:i index:1 type:kotlin.Int flags:
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor TestInner(Z)'
<Z>: Z
$this: GET_VAR 'this@Test2: Test2' type=Test2 origin=null
z: GET_VAR 'value-parameter z: Z' type=Z origin=null
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:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
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:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:Test3 modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test3 flags:
CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.String) returnType:Test3 flags:primary
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
VALUE_PARAMETER name:y index:1 type:kotlin.String flags:
EXPRESSION_BODY
CONST String type=kotlin.String value=""
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test3'
PROPERTY name:x visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.Int flags:
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test3 flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x>(): Int'
GET_FIELD 'x: Int' type=kotlin.Int origin=null
receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
PROPERTY name:y visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter y: String = ...' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:Test3) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test3 flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-y>(): String'
GET_FIELD 'y: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
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:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:Test4 modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test4<T> flags:
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:Test4<T> flags:primary
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test4'
PROPERTY name:x visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public flags:final
EXPRESSION_BODY
GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:Test4<T>) returnType:kotlin.Int flags:
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Test4<T> flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-x>(): Int'
GET_FIELD 'x: Int' type=kotlin.Int origin=null
receiver: GET_VAR 'this@Test4: Test4<T>' type=Test4<T> origin=null
CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:Test4<T> flags:
VALUE_PARAMETER name:x index:0 type:kotlin.Int flags:
VALUE_PARAMETER name:y index:1 type:kotlin.Int flags:
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Test4(Int)'
<T>: T
x: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUS
$this: GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=null
other: GET_VAR 'value-parameter y: Int = ...' type=kotlin.Int origin=null
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:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags: