Files
kotlin-fork/compiler/testData/ir/irText/firProblems/VarInInit.txt
T
Mikhail Glukhikh 7b4f781ea8 [FIR] Split primary constructor parameter scope into two different
In init block or property initializers,
for `val x` declared in primary constructor,
`x` reference is now resolved to property, not to parameter.
So we need two different scopes for primary constructor,
one for 'pure' parameters and another one for all parameters,
including val/var ones.

#KT-42844 Fixed
2020-10-30 18:44:55 +03:00

53 lines
4.0 KiB
Plaintext
Vendored

FILE fqName:<root> fileName:/VarInInit.kt
CLASS CLASS name:Some modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Some
CONSTRUCTOR visibility:public <> (foo:kotlin.Int) returnType:<root>.Some [primary]
VALUE_PARAMETER name:foo index:0 type:kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Some modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:foo visibility:public modality:FINAL [var]
FIELD PROPERTY_BACKING_FIELD name:foo type:kotlin.Int visibility:private
EXPRESSION_BODY
GET_VAR 'foo: kotlin.Int declared in <root>.Some.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-foo> visibility:public modality:FINAL <> ($this:<root>.Some) returnType:kotlin.Int
correspondingProperty: PROPERTY name:foo visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Some
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-foo> (): kotlin.Int declared in <root>.Some'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:foo type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.Some declared in <root>.Some.<get-foo>' type=<root>.Some origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-foo> visibility:public modality:FINAL <> ($this:<root>.Some, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:foo visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Some
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:foo type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.Some declared in <root>.Some.<set-foo>' type=<root>.Some origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.Some.<set-foo>' type=kotlin.Int origin=null
ANONYMOUS_INITIALIZER isStatic=false
BLOCK_BODY
WHEN type=kotlin.Unit origin=IF
BRANCH
if: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
arg0: CALL 'public final fun <get-foo> (): kotlin.Int declared in <root>.Some' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR '<this>: <root>.Some declared in <root>.Some' type=<root>.Some origin=null
arg1: CONST Int type=kotlin.Int value=0
then: BLOCK type=kotlin.Unit origin=null
CALL 'public final fun <set-foo> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.Some' type=kotlin.Unit origin=EQ
$this: GET_VAR '<this>: <root>.Some declared in <root>.Some' type=<root>.Some origin=null
<set-?>: CONST Int type=kotlin.Int value=0
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 [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any