| // RUN_PIPELINE_TILL: FRONTEND | |
| class Outer { | |
| <!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val outerProp: String<!> | |
| inner class Inner(inner: Inner, outer: Outer) { | |
| val innerProp: String | |
| init { | |
| outerProp // use of outerProp is ok because we're suppose that Outer instance should be initialized | |
| this@Outer.outerProp | |
| this@Outer.<!VAL_REASSIGNMENT!>outerProp<!> = "1" | |
| <!VAL_REASSIGNMENT!>outerProp<!> = "2" // do not repeat the same diagnostic with this receiver of outer class | |
| outer.<!VAL_REASSIGNMENT!>outerProp<!> = "3" | |
| innerProp = "4" + inner.innerProp | |
| this@Inner.<!VAL_REASSIGNMENT!>innerProp<!> = "5" | |
| <!VAL_REASSIGNMENT!>innerProp<!> = "6" // do not repeat the same diagnostic with this receiver | |
| this@Inner.<!VAL_REASSIGNMENT!>innerProp<!> = "7" | |
| inner.<!VAL_REASSIGNMENT!>innerProp<!> = "8" | |
| } | |
| } | |
| } | |
| /* GENERATED_FIR_TAGS: additiveExpression, assignment, classDeclaration, init, inner, primaryConstructor, | |
| propertyDeclaration, stringLiteral, thisExpression */ |