FIR deserializer: apply attributes on type parameter-based types
#KT-62578 Fixed
This commit is contained in:
committed by
Space Team
parent
1d95927582
commit
4ed7504d87
+6
-6
@@ -142,21 +142,21 @@ FILE fqName:<root> fileName:/monoidSum.kt
|
||||
VALUE_PARAMETER name:$context_receiver_0 index:0 type:<root>.Monoid<T of <root>.sum>
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun sum <T> ($context_receiver_0: <root>.Monoid<T of <root>.sum>): T of <root>.sum declared in <root>'
|
||||
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
|
||||
CALL 'public final fun fold <T, R> (initial: R of kotlin.collections.fold, operation: kotlin.Function2<@[ParameterName(name = 'acc')] R of kotlin.collections.fold, T of kotlin.collections.fold, R of kotlin.collections.fold>): R of kotlin.collections.fold declared in kotlin.collections' type=T of <root>.sum origin=null
|
||||
<T>: T of <root>.sum
|
||||
<R>: T of <root>.sum
|
||||
$receiver: GET_VAR '<this>: kotlin.collections.List<T of <root>.sum> declared in <root>.sum' type=kotlin.collections.List<T of <root>.sum> origin=null
|
||||
initial: CALL 'public abstract fun <get-unit> (): T of <root>.Monoid declared in <root>.Monoid' type=T of <root>.sum origin=GET_PROPERTY
|
||||
$this: GET_VAR '$context_receiver_0: <root>.Monoid<T of <root>.sum> declared in <root>.sum' type=<root>.Monoid<T of <root>.sum> origin=null
|
||||
operation: FUN_EXPR type=kotlin.Function2<T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (acc:T of <root>.sum, e:T of <root>.sum) returnType:T of <root>.sum
|
||||
VALUE_PARAMETER name:acc index:0 type:T of <root>.sum
|
||||
operation: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = 'acc')] T of <root>.sum, T of <root>.sum, T of <root>.sum> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (acc:@[ParameterName(name = 'acc')] T of <root>.sum, e:T of <root>.sum) returnType:T of <root>.sum
|
||||
VALUE_PARAMETER name:acc index:0 type:@[ParameterName(name = 'acc')] T of <root>.sum
|
||||
VALUE_PARAMETER name:e index:1 type:T of <root>.sum
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (acc: T of <root>.sum, e: T of <root>.sum): T of <root>.sum declared in <root>.sum'
|
||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (acc: @[ParameterName(name = 'acc')] T of <root>.sum, e: T of <root>.sum): T of <root>.sum declared in <root>.sum'
|
||||
CALL 'public abstract fun combine (other: T of <root>.Monoid): T of <root>.Monoid declared in <root>.Monoid' type=T of <root>.sum origin=null
|
||||
$this: GET_VAR '$context_receiver_0: <root>.Monoid<T of <root>.sum> declared in <root>.sum' type=<root>.Monoid<T of <root>.sum> origin=null
|
||||
$receiver: GET_VAR 'acc: T of <root>.sum declared in <root>.sum.<anonymous>' type=T of <root>.sum origin=null
|
||||
$receiver: GET_VAR 'acc: @[ParameterName(name = 'acc')] T of <root>.sum declared in <root>.sum.<anonymous>' type=@[ParameterName(name = 'acc')] T of <root>.sum origin=null
|
||||
other: GET_VAR 'e: T of <root>.sum declared in <root>.sum.<anonymous>' type=T of <root>.sum origin=null
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
|
||||
BLOCK_BODY
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ object StringMonoid : Monoid<String> {
|
||||
}
|
||||
|
||||
fun <T : Any?> List<T>.sum($context_receiver_0: Monoid<T>): T {
|
||||
return <this>.fold<T, T>(initial = $context_receiver_0.<get-unit>(), operation = local fun <anonymous>(acc: T, e: T): T {
|
||||
return <this>.fold<T, T>(initial = $context_receiver_0.<get-unit>(), operation = local fun <anonymous>(acc: @ParameterName(name = "acc") T, e: T): T {
|
||||
return ($context_receiver_0, acc).combine(other = e)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user