FIR2IR: make *Assign call origins closer to PSI2IR
#KT-60261 In Progress
This commit is contained in:
committed by
Space Team
parent
13ae4abe52
commit
c4ec576a99
@@ -51,6 +51,7 @@ import org.jetbrains.kotlin.ir.symbols.*
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.types.*
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrErrorTypeImpl
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
@@ -495,6 +496,15 @@ internal fun FirReference.statementOrigin(): IrStatementOrigin? = when (this) {
|
||||
source?.kind is KtFakeSourceElementKind.DesugaredComponentFunctionCall ->
|
||||
IrStatementOrigin.COMPONENT_N.withIndex(name.asString().removePrefix(DATA_CLASS_COMPONENT_PREFIX).toInt())
|
||||
|
||||
source?.kind is KtFakeSourceElementKind.DesugaredCompoundAssignment -> when (name) {
|
||||
OperatorNameConventions.PLUS_ASSIGN -> IrStatementOrigin.PLUSEQ
|
||||
OperatorNameConventions.MINUS_ASSIGN -> IrStatementOrigin.MINUSEQ
|
||||
OperatorNameConventions.TIMES_ASSIGN -> IrStatementOrigin.MULTEQ
|
||||
OperatorNameConventions.DIV_ASSIGN -> IrStatementOrigin.DIVEQ
|
||||
OperatorNameConventions.MOD_ASSIGN, OperatorNameConventions.REM_ASSIGN -> IrStatementOrigin.PERCEQ
|
||||
else -> null
|
||||
}
|
||||
|
||||
else ->
|
||||
null
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -177,7 +177,7 @@ FILE fqName:<root> fileName:/arrayAccessCompositeOperators.kt
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:$this$with type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign ($context_receiver_0: kotlin.Int, other: <root>.MyContainer): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign ($context_receiver_0: kotlin.Int, other: <root>.MyContainer): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PLUSEQ
|
||||
$receiver: GET_VAR 'var myContainer: <root>.MyContainer declared in <root>.box' type=<root>.MyContainer origin=null
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CONSTRUCTOR_CALL 'public constructor <init> (i: kotlin.Int) declared in <root>.MyContainer' type=<root>.MyContainer origin=null
|
||||
|
||||
Vendored
+4
-4
@@ -260,7 +260,7 @@ FILE fqName:<root> fileName:/compoundAssignmentOperators.kt
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:$this$with type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PLUSEQ
|
||||
$receiver: GET_VAR 'val result: <root>.Result declared in <root>.box' type=<root>.Result origin=null
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun plus ($context_receiver_0: kotlin.Int, other: <root>.Result): <root>.Result declared in <root>' type=<root>.Result origin=PLUS
|
||||
@@ -269,7 +269,7 @@ FILE fqName:<root> fileName:/compoundAssignmentOperators.kt
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CONSTRUCTOR_CALL 'public constructor <init> (i: kotlin.Int) declared in <root>.Result' type=<root>.Result origin=null
|
||||
i: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun minusAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun minusAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MINUSEQ
|
||||
$receiver: GET_VAR 'val result: <root>.Result declared in <root>.box' type=<root>.Result origin=null
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun minus ($context_receiver_0: kotlin.Int, other: <root>.Result): <root>.Result declared in <root>' type=<root>.Result origin=MINUS
|
||||
@@ -278,7 +278,7 @@ FILE fqName:<root> fileName:/compoundAssignmentOperators.kt
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CONSTRUCTOR_CALL 'public constructor <init> (i: kotlin.Int) declared in <root>.Result' type=<root>.Result origin=null
|
||||
i: CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun timesAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun timesAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MULTEQ
|
||||
$receiver: GET_VAR 'val result: <root>.Result declared in <root>.box' type=<root>.Result origin=null
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun times ($context_receiver_0: kotlin.Int, other: <root>.Result): <root>.Result declared in <root>' type=<root>.Result origin=MUL
|
||||
@@ -287,7 +287,7 @@ FILE fqName:<root> fileName:/compoundAssignmentOperators.kt
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CONSTRUCTOR_CALL 'public constructor <init> (i: kotlin.Int) declared in <root>.Result' type=<root>.Result origin=null
|
||||
i: CONST Int type=kotlin.Int value=2
|
||||
CALL 'public final fun divAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun divAssign ($context_receiver_0: kotlin.Int, other: <root>.Result): kotlin.Unit declared in <root>' type=kotlin.Unit origin=DIVEQ
|
||||
$receiver: GET_VAR 'val result: <root>.Result declared in <root>.box' type=<root>.Result origin=null
|
||||
$context_receiver_0: GET_VAR '$this$with: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
|
||||
other: CALL 'public final fun div ($context_receiver_0: kotlin.Int, other: <root>.Result): <root>.Result declared in <root>' type=<root>.Result origin=DIV
|
||||
|
||||
@@ -51,35 +51,35 @@ FILE fqName:<root> fileName:/augmentedAssignment2.kt
|
||||
BLOCK_BODY
|
||||
VAR name:a type:<root>.A [val]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.A' type=<root>.A origin=null
|
||||
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PLUSEQ
|
||||
$receiver: GET_VAR 'val a: <root>.A declared in <root>.testVariable' type=<root>.A origin=null
|
||||
s: CONST String type=kotlin.String value="+="
|
||||
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MINUSEQ
|
||||
$receiver: GET_VAR 'val a: <root>.A declared in <root>.testVariable' type=<root>.A origin=null
|
||||
s: CONST String type=kotlin.String value="-="
|
||||
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MULTEQ
|
||||
$receiver: GET_VAR 'val a: <root>.A declared in <root>.testVariable' type=<root>.A origin=null
|
||||
s: CONST String type=kotlin.String value="*="
|
||||
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=DIVEQ
|
||||
$receiver: GET_VAR 'val a: <root>.A declared in <root>.testVariable' type=<root>.A origin=null
|
||||
s: CONST String type=kotlin.String value="/="
|
||||
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PERCEQ
|
||||
$receiver: GET_VAR 'val a: <root>.A declared in <root>.testVariable' type=<root>.A origin=null
|
||||
s: CONST String type=kotlin.String value="*="
|
||||
FUN name:testProperty visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PLUSEQ
|
||||
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=GET_PROPERTY
|
||||
s: CONST String type=kotlin.String value="+="
|
||||
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun minusAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MINUSEQ
|
||||
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=GET_PROPERTY
|
||||
s: CONST String type=kotlin.String value="-="
|
||||
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun timesAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=MULTEQ
|
||||
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=GET_PROPERTY
|
||||
s: CONST String type=kotlin.String value="*="
|
||||
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun divAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=DIVEQ
|
||||
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=GET_PROPERTY
|
||||
s: CONST String type=kotlin.String value="/="
|
||||
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun remAssign (s: kotlin.String): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PERCEQ
|
||||
$receiver: CALL 'public final fun <get-p> (): <root>.A declared in <root>' type=<root>.A origin=GET_PROPERTY
|
||||
s: CONST String type=kotlin.String value="%="
|
||||
|
||||
+4
-4
@@ -12,7 +12,7 @@ FILE fqName:<root> fileName:/augmentedAssignmentWithExpression.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR '<this>: <root>.Host declared in <root>.Host.test1' type=<root>.Host origin=null
|
||||
x: CONST Int type=kotlin.Int value=1
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
@@ -35,18 +35,18 @@ FILE fqName:<root> fileName:/augmentedAssignmentWithExpression.kt
|
||||
FUN name:test2 visibility:public modality:FINAL <> ($receiver:<root>.Host) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR '<this>: <root>.Host declared in <root>.test2' type=<root>.Host origin=null
|
||||
x: CONST Int type=kotlin.Int value=1
|
||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: CALL 'public final fun foo (): <root>.Host declared in <root>' type=<root>.Host origin=null
|
||||
x: CONST Int type=kotlin.Int value=1
|
||||
FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0<<root>.Host>) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.Function0<<root>.Host>
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=<root>.Host origin=INVOKE
|
||||
$this: GET_VAR 'a: kotlin.Function0<<root>.Host> declared in <root>.test4' type=kotlin.Function0<<root>.Host> origin=VARIABLE_AS_FUNCTION
|
||||
x: CONST Int type=kotlin.Int value=1
|
||||
|
||||
+1
-1
@@ -247,7 +247,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
VALUE_PARAMETER name:v index:0 type:<root>.B
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (b: <root>.B): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (b: <root>.B): kotlin.Unit declared in <root>.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR '<this>: <root>.Host declared in <root>.test3' type=<root>.Host origin=null
|
||||
$receiver: GET_VAR 'v: <root>.B declared in <root>.test3' type=<root>.B origin=null
|
||||
b: CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.Int) declared in <root>.B' type=<root>.B origin=null
|
||||
|
||||
@@ -77,7 +77,7 @@ FILE fqName:<root> fileName:/kt16904.kt
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.A'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[<root>.A]'
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-x> (): <root>.B declared in <root>.Test1' type=<root>.B origin=GET_PROPERTY
|
||||
$this: GET_VAR '<this>: <root>.Test1 declared in <root>.Test1' type=<root>.Test1 origin=null
|
||||
x: CONST Int type=kotlin.Int value=42
|
||||
|
||||
@@ -24,29 +24,29 @@ FILE fqName:<root> fileName:/kt30020.kt
|
||||
VALUE_PARAMETER name:x index:0 type:<root>.X
|
||||
VALUE_PARAMETER name:nx index:1 type:<root>.X?
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=GET_PROPERTY
|
||||
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
|
||||
element: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
|
||||
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
|
||||
element: CONST Int type=kotlin.Int value=2
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: TYPE_OP type=kotlin.collections.MutableList<kotlin.Int> origin=CAST typeOperand=kotlin.collections.MutableList<kotlin.Int>
|
||||
CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=GET_PROPERTY
|
||||
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
|
||||
element: CONST Int type=kotlin.Int value=3
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: TYPE_OP type=kotlin.collections.MutableList<kotlin.Int> origin=CAST typeOperand=kotlin.collections.MutableList<kotlin.Int>
|
||||
CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
|
||||
$this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
|
||||
element: CONST Int type=kotlin.Int value=4
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.collections.MutableList<kotlin.Any> origin=EXCLEXCL
|
||||
<T0>: kotlin.collections.MutableList<kotlin.Any>
|
||||
@@ -64,7 +64,7 @@ FILE fqName:<root> fileName:/kt30020.kt
|
||||
then: CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_0: <root>.X? declared in <root>.test' type=<root>.X? origin=null
|
||||
element: CONST Int type=kotlin.Int value=5
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.collections.MutableList<kotlin.Any> origin=EXCLEXCL
|
||||
<T0>: kotlin.collections.MutableList<kotlin.Any>
|
||||
@@ -85,7 +85,7 @@ FILE fqName:<root> fileName:/kt30020.kt
|
||||
FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList<kotlin.Any>) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList<kotlin.Any>
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: GET_VAR '<this>: kotlin.collections.MutableList<kotlin.Any> declared in <root>.testExtensionReceiver' type=kotlin.collections.MutableList<kotlin.Any> origin=null
|
||||
element: CONST Int type=kotlin.Int value=100
|
||||
@@ -98,7 +98,7 @@ FILE fqName:<root> fileName:/kt30020.kt
|
||||
FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:<root>.AML) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.AML
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: GET_VAR '<this>: <root>.AML declared in <root>.AML.testExplicitThis' type=<root>.AML origin=null
|
||||
element: CONST Int type=kotlin.Int value=200
|
||||
@@ -112,7 +112,7 @@ FILE fqName:<root> fileName:/kt30020.kt
|
||||
FUN name:testOuterThis visibility:public modality:FINAL <> ($this:<root>.AML.Inner) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.AML.Inner
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign <T> (element: T of kotlin.collections.plusAssign): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=PLUSEQ
|
||||
<T>: kotlin.Int
|
||||
$receiver: GET_VAR '<this>: <root>.AML declared in <root>.AML' type=<root>.AML origin=null
|
||||
element: CONST Int type=kotlin.Int value=300
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
FILE fqName:<root> fileName:/kt45022.kt
|
||||
TYPEALIAS name:AX visibility:public expandedType:<root>.X
|
||||
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (any: kotlin.Any): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=null
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:X modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.X
|
||||
any: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun plusAssign (any: kotlin.Any): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=null
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:X modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.X
|
||||
any: CONST Int type=kotlin.Int value=1
|
||||
CLASS OBJECT name:X modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X
|
||||
CONSTRUCTOR visibility:private <> () returnType:<root>.X [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:X modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
FUN name:plusAssign visibility:public modality:FINAL <> ($this:<root>.X, any:kotlin.Any) returnType:kotlin.Unit [operator]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.X
|
||||
VALUE_PARAMETER name:any index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun plusAssign (any: kotlin.Any): kotlin.Unit declared in <root>.X'
|
||||
GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_KT_DUMP
|
||||
|
||||
typealias AX = X
|
||||
|
||||
@@ -140,11 +140,11 @@ FILE fqName:<root> fileName:/kt49203.kt
|
||||
FUN name:test visibility:public modality:FINAL <> (b:<root>.B) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:b index:0 type:<root>.B
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (data: kotlin.String): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (data: kotlin.String): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-x> (): <root>.X declared in <root>.B' type=<root>.X origin=GET_PROPERTY
|
||||
$this: GET_VAR 'b: <root>.B declared in <root>.test' type=<root>.B origin=null
|
||||
data: CONST String type=kotlin.String value="x"
|
||||
CALL 'public final fun plusAssign (data: kotlin.String): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (data: kotlin.String): kotlin.Unit declared in <root>.X' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-y> (): <root>.X declared in <root>.B' type=<root>.X origin=GET_PROPERTY
|
||||
$this: GET_VAR 'b: <root>.B declared in <root>.test' type=<root>.B origin=null
|
||||
data: CONST String type=kotlin.String value="y"
|
||||
|
||||
@@ -17,7 +17,7 @@ FILE fqName:<root> fileName:/lambdaInCAO.kt
|
||||
FUN name:test1 visibility:public modality:FINAL <> (a:kotlin.Any) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.Any
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun plusAssign (lambda: kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
CALL 'public final fun plusAssign (lambda: kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>' type=kotlin.Unit origin=PLUSEQ
|
||||
$receiver: GET_VAR 'a: kotlin.Any declared in <root>.test1' type=kotlin.Any origin=null
|
||||
lambda: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||
|
||||
@@ -34,11 +34,11 @@ FILE fqName:<root> fileName:/samOperators.kt
|
||||
FUN name:test3 visibility:public modality:FINAL <> ($receiver:<root>.J) returnType:kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun plusAssign (i: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
CALL 'public open fun plusAssign (i: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR '<this>: <root>.J declared in <root>.test3' type=<root>.J origin=null
|
||||
i: TYPE_OP type=@[FlexibleNullability] java.lang.Runnable? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] java.lang.Runnable?
|
||||
FUNCTION_REFERENCE 'public final fun f (): kotlin.Unit declared in <root>' type=kotlin.reflect.KFunction0<kotlin.Unit> origin=null reflectionTarget=<same>
|
||||
CALL 'public open fun minusAssign (i: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
CALL 'public open fun minusAssign (i: @[FlexibleNullability] java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=MINUSEQ
|
||||
$this: GET_VAR '<this>: <root>.J declared in <root>.test3' type=<root>.J origin=null
|
||||
i: TYPE_OP type=@[FlexibleNullability] java.lang.Runnable? origin=SAM_CONVERSION typeOperand=@[FlexibleNullability] java.lang.Runnable?
|
||||
FUNCTION_REFERENCE 'public final fun f (): kotlin.Unit declared in <root>' type=kotlin.reflect.KFunction0<kotlin.Unit> origin=null reflectionTarget=<same>
|
||||
|
||||
+4
-4
@@ -11,7 +11,7 @@
|
||||
@5:4..7:5 FUN name:test1 visibility:public modality:FINAL <> ($this:test.Host) returnType:kotlin.Unit
|
||||
@5:4..7:5 VALUE_PARAMETER name:<this> type:test.Host
|
||||
@5:16..7:5 BLOCK_BODY
|
||||
@6:8..17 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=null
|
||||
@6:8..17 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
@6:8..12 GET_VAR '<this>: test.Host declared in test.Host.test1' type=test.Host origin=null
|
||||
@6:16..17 CONST Int type=kotlin.Int value=1
|
||||
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
@@ -29,18 +29,18 @@
|
||||
@12:0..14:1 FUN name:test2 visibility:public modality:FINAL <> ($receiver:test.Host) returnType:kotlin.Unit
|
||||
@12:4..8 VALUE_PARAMETER name:<this> type:test.Host
|
||||
@12:17..14:1 BLOCK_BODY
|
||||
@13:4..13 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=null
|
||||
@13:4..13 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
@13:4..8 GET_VAR '<this>: test.Host declared in test.test2' type=test.Host origin=null
|
||||
@13:12..13 CONST Int type=kotlin.Int value=1
|
||||
@16:0..18:1 FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
@16:12..18:1 BLOCK_BODY
|
||||
@17:4..14 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=null
|
||||
@17:4..14 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
@17:4..9 CALL 'public final fun foo (): test.Host declared in test' type=test.Host origin=null
|
||||
@17:13..14 CONST Int type=kotlin.Int value=1
|
||||
@20:0..22:1 FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0<test.Host>) returnType:kotlin.Unit
|
||||
@20:10..23 VALUE_PARAMETER name:a index:0 type:kotlin.Function0<test.Host>
|
||||
@20:25..22:1 BLOCK_BODY
|
||||
@21:4..12 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=null
|
||||
@21:4..12 CALL 'public final fun plusAssign (x: kotlin.Int): kotlin.Unit [operator] declared in test.Host' type=kotlin.Unit origin=PLUSEQ
|
||||
@21:4..7 CALL 'public abstract fun invoke (): R of kotlin.Function0 [operator] declared in kotlin.Function0' type=test.Host origin=INVOKE
|
||||
@21:4..5 GET_VAR 'a: kotlin.Function0<test.Host> declared in test.test4' type=kotlin.Function0<test.Host> origin=VARIABLE_AS_FUNCTION
|
||||
@21:11..12 CONST Int type=kotlin.Int value=1
|
||||
|
||||
Reference in New Issue
Block a user