e89047d2cc
Such references require proper scope so that local symbols are bound.
Example:
```
fun <T> outer() {
abstract class ALocal<S : T> {
abstract fun bar()
}
class Local<S : T> : ALocal<S>() {
override fun bar() {}
}
}
```
Here local classes have type parameters with upper bounds depending on
function type parameters, and members overriding members in other local
classes.
127 lines
8.7 KiB
Plaintext
Vendored
127 lines
8.7 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/defaultPropertyAccessors.kt
|
|
PROPERTY name:test1 type:kotlin.Int visibility:public modality:FINAL flags:val
|
|
FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:public
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:Int flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-test1>(): Int'
|
|
GET_FIELD 'test1: Int' type=kotlin.Int origin=null
|
|
PROPERTY name:test2 type:kotlin.Int visibility:public modality:FINAL flags:var
|
|
FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:public
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:Int flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-test2>(): Int'
|
|
GET_FIELD 'test2: Int' type=kotlin.Int origin=null
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-test2> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:Unit flags:
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
|
|
BLOCK_BODY
|
|
SET_FIELD 'test2: Int' type=kotlin.Unit origin=null
|
|
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int origin=null
|
|
CLASS CLASS name:Host modality:FINAL visibility:public flags:
|
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Host flags:
|
|
superClasses:
|
|
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
|
CONSTRUCTOR visibility:public <> () returnType:Host flags:
|
|
BLOCK_BODY
|
|
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
|
INSTANCE_INITIALIZER_CALL classDescriptor='Host'
|
|
PROPERTY name:testMember1 type:kotlin.Int visibility:public modality:FINAL flags:val
|
|
FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:public
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testMember1> visibility:public modality:FINAL <> ($this:Host) returnType:Int flags:
|
|
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-testMember1>(): Int'
|
|
GET_FIELD 'testMember1: Int' type=kotlin.Int origin=null
|
|
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
|
|
PROPERTY name:testMember2 type:kotlin.Int visibility:public modality:FINAL flags:var
|
|
FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:public
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=42
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testMember2> visibility:public modality:FINAL <> ($this:Host) returnType:Int flags:
|
|
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-testMember2>(): Int'
|
|
GET_FIELD 'testMember2: Int' type=kotlin.Int origin=null
|
|
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-testMember2> visibility:public modality:FINAL <> ($this:Host, <set-?>:kotlin.Int) returnType:Unit flags:
|
|
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
|
|
BLOCK_BODY
|
|
SET_FIELD 'testMember2: Int' type=kotlin.Unit origin=null
|
|
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
|
|
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int origin=null
|
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType: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:Int flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
|
CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public flags:
|
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:InPrimaryCtor<T> flags:
|
|
superClasses:
|
|
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
|
TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
|
|
superClassifiers:
|
|
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
|
CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T, testInPrimaryCtor2:kotlin.Int) returnType:InPrimaryCtor<T> flags:
|
|
VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T flags:
|
|
VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int flags:
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=42
|
|
BLOCK_BODY
|
|
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
|
INSTANCE_INITIALIZER_CALL classDescriptor='InPrimaryCtor'
|
|
PROPERTY name:testInPrimaryCtor1 type:T visibility:public modality:FINAL flags:val
|
|
FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T visibility:public
|
|
EXPRESSION_BODY
|
|
GET_VAR 'value-parameter testInPrimaryCtor1: T' type=T origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testInPrimaryCtor1> visibility:public modality:FINAL <> ($this:InPrimaryCtor<T>) returnType:T flags:
|
|
$this: VALUE_PARAMETER name:<this> type:InPrimaryCtor<T> flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-testInPrimaryCtor1>(): T'
|
|
GET_FIELD 'testInPrimaryCtor1: T' type=T origin=null
|
|
receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor<T>' type=InPrimaryCtor<T> origin=null
|
|
PROPERTY name:testInPrimaryCtor2 type:kotlin.Int visibility:public modality:FINAL flags:var
|
|
FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:public
|
|
EXPRESSION_BODY
|
|
GET_VAR 'value-parameter testInPrimaryCtor2: Int = ...' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testInPrimaryCtor2> visibility:public modality:FINAL <> ($this:InPrimaryCtor<T>) returnType:Int flags:
|
|
$this: VALUE_PARAMETER name:<this> type:InPrimaryCtor<T> flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='<get-testInPrimaryCtor2>(): Int'
|
|
GET_FIELD 'testInPrimaryCtor2: Int' type=kotlin.Int origin=null
|
|
receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor<T>' type=InPrimaryCtor<T> origin=null
|
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-testInPrimaryCtor2> visibility:public modality:FINAL <> ($this:InPrimaryCtor<T>, <set-?>:kotlin.Int) returnType:Unit flags:
|
|
$this: VALUE_PARAMETER name:<this> type:InPrimaryCtor<T> flags:
|
|
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int flags:
|
|
BLOCK_BODY
|
|
SET_FIELD 'testInPrimaryCtor2: Int' type=kotlin.Unit origin=null
|
|
receiver: GET_VAR 'this@InPrimaryCtor: InPrimaryCtor<T>' type=InPrimaryCtor<T> origin=null
|
|
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int origin=null
|
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType: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:Int flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
|
|
overridden:
|
|
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
|
|
|