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.
62 lines
3.8 KiB
Plaintext
Vendored
62 lines
3.8 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/fun.kt
|
|
FUN name:test1 visibility:public modality:FINAL <T> (i:kotlin.Int, j:T) returnType:Unit 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:
|
|
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
|
VALUE_PARAMETER name:j index:1 type:T flags:
|
|
BLOCK_BODY
|
|
FUN name:test2 visibility:public modality:FINAL <> (i:kotlin.Int, j:kotlin.String) returnType:Unit flags:
|
|
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
|
EXPRESSION_BODY
|
|
CONST Int type=kotlin.Int value=0
|
|
VALUE_PARAMETER name:j index:1 type:kotlin.String flags:
|
|
EXPRESSION_BODY
|
|
CONST String type=kotlin.String value=
|
|
BLOCK_BODY
|
|
FUN name:test3 visibility:public modality:FINAL <> (args:kotlin.Array<out kotlin.String>) returnType:Unit flags:
|
|
VALUE_PARAMETER name:args index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String flags:vararg
|
|
BLOCK_BODY
|
|
FUN name:textExt1 visibility:public modality:FINAL <> ($receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:Unit flags:
|
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
|
|
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
|
VALUE_PARAMETER name:j index:1 type:kotlin.String flags:
|
|
BLOCK_BODY
|
|
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'
|
|
FUN name:testMembetExt1 visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.String, i:kotlin.Int, j:kotlin.String) returnType:Unit flags:
|
|
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
|
|
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
|
VALUE_PARAMETER name:j index:1 type:kotlin.String flags:
|
|
BLOCK_BODY
|
|
FUN name:testMembetExt2 visibility:public modality:FINAL <T> ($this:Host, $receiver:kotlin.String, i:kotlin.Int, j:T) returnType:Unit 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:
|
|
$this: VALUE_PARAMETER name:<this> type:Host flags:
|
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
|
|
VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:
|
|
VALUE_PARAMETER name:j index:1 type:T flags:
|
|
BLOCK_BODY
|
|
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:
|
|
|