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.
23 lines
1.2 KiB
Plaintext
Vendored
23 lines
1.2 KiB
Plaintext
Vendored
FILE fqName:<root> fileName:/argumentMappedWithError.kt
|
|
FUN name:convert visibility:public modality:FINAL <R> ($receiver:kotlin.Number) returnType:R flags:
|
|
TYPE_PARAMETER name:R index:0 variance: upperBounds:[kotlin.Number]
|
|
superClassifiers:
|
|
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Number modality:ABSTRACT visibility:public flags:
|
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Number flags:
|
|
BLOCK_BODY
|
|
RETURN type=kotlin.Nothing from='convert() on Number: R'
|
|
CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null
|
|
FUN name:foo visibility:public modality:FINAL <> (arg:kotlin.Number) returnType:Unit flags:
|
|
VALUE_PARAMETER name:arg index:0 type:kotlin.Number flags:
|
|
BLOCK_BODY
|
|
FUN name:main visibility:public modality:FINAL <> (args:kotlin.Array<kotlin.String>) returnType:Unit flags:
|
|
VALUE_PARAMETER name:args index:0 type:kotlin.Array<kotlin.String> flags:
|
|
BLOCK_BODY
|
|
VAR name:x type:kotlin.Int flags:val
|
|
CONST Int type=kotlin.Int value=0
|
|
CALL 'foo(Number): Unit' type=kotlin.Unit origin=null
|
|
arg: CALL 'convert() on Number: Number' type=kotlin.Number origin=null
|
|
<R : Number>: Number
|
|
$receiver: GET_VAR 'x: Int' type=kotlin.Int origin=null
|
|
|