[FIR] Extract LHS receiver of assignment operator statements
#KT-53490 Fixed
This commit is contained in:
+10
-6
@@ -9,11 +9,15 @@ FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] insidePlusAssignTarget.kt
|
||||
[ResolvedTo(BODY_RESOLVE)] annotations container
|
||||
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] x: R|kotlin/collections/MutableMap<kotlin/Int, kotlin/collections/MutableList<kotlin/String>>|): R|kotlin/Unit| {
|
||||
R|<local>/x|.<Unresolved name: getOrPut>#(Int(1), <L> = [ResolvedTo(BODY_RESOLVE)] getOrPut@fun <anonymous>(): <ERROR TYPE REF: Unresolved name: mutableListOf> <inline=Unknown> {
|
||||
^ <Unresolved name: mutableListOf>#<R|kotlin/String|>()
|
||||
{
|
||||
[ResolvedTo(BODY_RESOLVE)] lval <receiver>: R|kotlin/collections/MutableMap<kotlin/Int, kotlin/collections/MutableList<kotlin/String>>| = R|<local>/x|
|
||||
R|<local>/<receiver>|.<Unresolved name: getOrPut>#(Int(1), <L> = [ResolvedTo(BODY_RESOLVE)] getOrPut@fun <anonymous>(): <ERROR TYPE REF: Unresolved name: mutableListOf> <inline=Unknown> {
|
||||
^ <Unresolved name: mutableListOf>#<R|kotlin/String|>()
|
||||
}
|
||||
) = R|<local>/<receiver>|.<Unresolved name: getOrPut>#(Int(1), <L> = [ResolvedTo(BODY_RESOLVE)] getOrPut@fun <anonymous>(): <ERROR TYPE REF: Unresolved name: mutableListOf> <inline=Unknown> {
|
||||
^ <Unresolved name: mutableListOf>#<R|kotlin/String|>()
|
||||
}
|
||||
).R|kotlin/plus|(String(str))
|
||||
}
|
||||
) = R|<local>/x|.<Unresolved name: getOrPut>#(Int(1), <L> = [ResolvedTo(BODY_RESOLVE)] getOrPut@fun <anonymous>(): <ERROR TYPE REF: Unresolved name: mutableListOf> <inline=Unknown> {
|
||||
^ <Unresolved name: mutableListOf>#<R|kotlin/String|>()
|
||||
}
|
||||
).R|kotlin/plus|(String(str))
|
||||
|
||||
}
|
||||
+5
-1
@@ -1,4 +1,8 @@
|
||||
FILE: main.kt
|
||||
public final fun test(b: R|B|): R|kotlin/Unit| {
|
||||
R|<local>/b|.R|/B.text| = R|<local>/b|.R|/B.text|.R|kotlin/String.plus|(String())
|
||||
{
|
||||
lval <receiver>: R|B| = R|<local>/b|
|
||||
R|<local>/<receiver>|.R|/B.text| = R|<local>/<receiver>|.R|/B.text|.R|kotlin/String.plus|(String())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
FILE: main.kt
|
||||
public final fun main(j: R|JavaClass|): R|kotlin/Unit| {
|
||||
R|<local>/j|.R|/JavaClass.foo| = R|<local>/j|.R|/JavaClass.foo|.R|kotlin/String.plus|(String(OK))
|
||||
{
|
||||
lval <receiver>: R|JavaClass| = R|<local>/j|
|
||||
R|<local>/<receiver>|.R|/JavaClass.foo| = R|<local>/<receiver>|.R|/JavaClass.foo|.R|kotlin/String.plus|(String(OK))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+18
@@ -35001,12 +35001,24 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignmentOperations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssigmentPlusLhsCount.kt")
|
||||
public void testAugmentedAssigmentPlusLhsCount() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/augmentedAssigmentPlusLhsCount.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssignmentInInitializer.kt")
|
||||
public void testAugmentedAssignmentInInitializer() throws Exception {
|
||||
@@ -35127,6 +35139,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+18
@@ -35001,12 +35001,24 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignmentOperations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssigmentPlusLhsCount.kt")
|
||||
public void testAugmentedAssigmentPlusLhsCount() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/augmentedAssigmentPlusLhsCount.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssignmentInInitializer.kt")
|
||||
public void testAugmentedAssignmentInInitializer() throws Exception {
|
||||
@@ -35127,6 +35139,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+6
@@ -2594,6 +2594,12 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java
Generated
+6
@@ -2594,6 +2594,12 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
+32
-37
@@ -647,10 +647,11 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
)
|
||||
dataFlowAnalyzer.exitFunctionCall(resolvedOperatorCall, callCompleted = true)
|
||||
|
||||
val leftArgumentDesugaredSource = leftArgument.source?.fakeElement(KtFakeSourceElementKind.DesugaredCompoundAssignment)
|
||||
val unwrappedLeftArgument = leftArgument.unwrapSmartcastExpression()
|
||||
val assignmentLeftArgument = buildDesugaredAssignmentValueReferenceExpression {
|
||||
expressionRef = FirExpressionRef<FirExpression>().apply { bind(unwrappedLeftArgument) }
|
||||
source = leftArgument.source?.fakeElement(KtFakeSourceElementKind.DesugaredCompoundAssignment)
|
||||
source = leftArgumentDesugaredSource
|
||||
}
|
||||
|
||||
val assignment =
|
||||
@@ -660,16 +661,36 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
rValue = resolvedOperatorCall
|
||||
annotations += assignmentOperatorStatement.annotations
|
||||
}
|
||||
return assignment.transform(transformer, ResolutionMode.ContextIndependent)
|
||||
|
||||
val receiverTemporaryVariable =
|
||||
generateExplicitReceiverTemporaryVariable(session, unwrappedLeftArgument, leftArgumentDesugaredSource)
|
||||
return if (receiverTemporaryVariable != null) {
|
||||
buildBlock {
|
||||
source = assignmentOperatorStatement.source?.fakeElement(KtFakeSourceElementKind.DesugaredCompoundAssignment)
|
||||
annotations += assignmentOperatorStatement.annotations
|
||||
|
||||
statements += receiverTemporaryVariable
|
||||
statements += assignment
|
||||
}
|
||||
} else {
|
||||
assignment
|
||||
}.transform(transformer, ResolutionMode.ContextIndependent)
|
||||
}
|
||||
|
||||
fun chooseResolved(): FirStatement {
|
||||
// If neither candidate is successful, choose whichever is resolved, prioritizing assign
|
||||
val isAssignResolved = (assignCallReference as? FirErrorReferenceWithCandidate)?.diagnostic !is ConeUnresolvedNameError
|
||||
val isOperatorResolved = (operatorCallReference as? FirErrorReferenceWithCandidate)?.diagnostic !is ConeUnresolvedNameError
|
||||
return when {
|
||||
isAssignResolved -> chooseAssign()
|
||||
isOperatorResolved -> chooseOperator()
|
||||
else -> chooseAssign()
|
||||
}
|
||||
}
|
||||
|
||||
fun reportAmbiguity(): FirStatement {
|
||||
val operatorCallCandidate = operatorCallReference?.candidate
|
||||
val assignmentCallCandidate = assignCallReference?.candidate
|
||||
|
||||
requireNotNull(operatorCallCandidate)
|
||||
requireNotNull(assignmentCallCandidate)
|
||||
|
||||
val operatorCallCandidate = requireNotNull(operatorCallReference?.candidate)
|
||||
val assignmentCallCandidate = requireNotNull(assignCallReference?.candidate)
|
||||
return buildErrorExpression {
|
||||
source = assignmentOperatorStatement.source
|
||||
diagnostic = ConeOperatorAmbiguityError(listOf(operatorCallCandidate, assignmentCallCandidate))
|
||||
@@ -678,16 +699,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
|
||||
return when {
|
||||
assignIsSuccessful && !lhsIsVar -> chooseAssign()
|
||||
!assignIsSuccessful && !operatorIsSuccessful -> {
|
||||
// If neither candidate is successful, choose whichever is resolved, prioritizing assign
|
||||
val isAssignResolved = (assignCallReference as? FirErrorReferenceWithCandidate)?.diagnostic !is ConeUnresolvedNameError
|
||||
val isOperatorResolved = (operatorCallReference as? FirErrorReferenceWithCandidate)?.diagnostic !is ConeUnresolvedNameError
|
||||
when {
|
||||
isAssignResolved -> chooseAssign()
|
||||
isOperatorResolved -> chooseOperator()
|
||||
else -> chooseAssign()
|
||||
}
|
||||
}
|
||||
!assignIsSuccessful && !operatorIsSuccessful -> chooseResolved()
|
||||
!assignIsSuccessful && operatorIsSuccessful -> chooseOperator()
|
||||
assignIsSuccessful && !operatorIsSuccessful -> chooseAssign()
|
||||
leftArgument.typeRef.coneType is ConeDynamicType -> chooseAssign()
|
||||
@@ -750,25 +762,8 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
source = desugaredSource
|
||||
annotations += incrementDecrementExpression.annotations
|
||||
|
||||
(expression as? FirQualifiedAccessExpression)?.explicitReceiver
|
||||
// If a receiver x exists, write it to a temporary variable to prevent multiple calls to it.
|
||||
// Exceptions: ResolvedQualifiers and ThisReceivers as they can't have side effects when called.
|
||||
?.takeIf { it is FirQualifiedAccessExpression && it !is FirThisReceiverExpression }
|
||||
?.let { receiver ->
|
||||
// val <receiver> = x
|
||||
statements += generateTemporaryVariable(SpecialNames.RECEIVER, receiver).also { property ->
|
||||
// Change the expression from x.a to <receiver>.a
|
||||
val newReceiverAccess =
|
||||
property.toQualifiedAccess(fakeSource = receiver.source?.fakeElement(KtFakeSourceElementKind.DesugaredIncrementOrDecrement))
|
||||
|
||||
if (expression.explicitReceiver == expression.dispatchReceiver) {
|
||||
expression.replaceDispatchReceiver(newReceiverAccess)
|
||||
} else {
|
||||
expression.replaceExtensionReceiver(newReceiverAccess)
|
||||
}
|
||||
expression.replaceExplicitReceiver(newReceiverAccess)
|
||||
}
|
||||
}
|
||||
generateExplicitReceiverTemporaryVariable(session, expression, desugaredSource)
|
||||
?.let { statements += it }
|
||||
|
||||
if (incrementDecrementExpression.isPrefix) {
|
||||
// a = a.inc()
|
||||
|
||||
@@ -16,16 +16,15 @@ import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.buildProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildPropertyAccessExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.builder.buildResolvedNamedReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImplWithoutSource
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
|
||||
fun FirVariable.toQualifiedAccess(
|
||||
fakeSource: KtSourceElement? = source?.fakeElement(KtFakeSourceElementKind.ReferenceInAtomicQualifiedAccess),
|
||||
@@ -66,3 +65,38 @@ fun generateTemporaryVariable(
|
||||
}
|
||||
}
|
||||
|
||||
fun generateExplicitReceiverTemporaryVariable(
|
||||
session: FirSession,
|
||||
expression: FirExpression,
|
||||
source: KtSourceElement?,
|
||||
): FirProperty? {
|
||||
return (expression as? FirQualifiedAccessExpression)?.explicitReceiver
|
||||
?.takeIf {
|
||||
// If a receiver x exists, write it to a temporary variable to prevent multiple calls to it.
|
||||
// Exceptions: ResolvedQualifiers, ThisReceivers, and SuperReference as they can't have side effects when called.
|
||||
it !is FirResolvedQualifier
|
||||
&& it !is FirThisReceiverExpression
|
||||
&& !(it is FirQualifiedAccessExpression && it.calleeReference is FirSuperReference)
|
||||
}
|
||||
?.let { receiver ->
|
||||
// val <receiver> = x
|
||||
generateTemporaryVariable(
|
||||
moduleData = session.moduleData,
|
||||
source = source,
|
||||
name = SpecialNames.RECEIVER,
|
||||
initializer = receiver,
|
||||
typeRef = receiver.typeRef.copyWithNewSource(source),
|
||||
).also { property ->
|
||||
// Change the expression from x.a to <receiver>.a
|
||||
val newReceiverAccess =
|
||||
property.toQualifiedAccess(fakeSource = receiver.source?.fakeElement(KtFakeSourceElementKind.DesugaredIncrementOrDecrement))
|
||||
|
||||
if (expression.explicitReceiver == expression.dispatchReceiver) {
|
||||
expression.replaceDispatchReceiver(newReceiverAccess)
|
||||
} else {
|
||||
expression.replaceExtensionReceiver(newReceiverAccess)
|
||||
}
|
||||
expression.replaceExplicitReceiver(newReceiverAccess)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND_K2: JS_IR
|
||||
// FIR_STATUS: KT-53490
|
||||
// EXPECTED_REACHABLE_NODES: 1286
|
||||
package foo
|
||||
|
||||
@@ -59,4 +57,8 @@ fun box(): String {
|
||||
assertEquals(3, a.prop)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
fun assertEquals(first: Any?, second: Any?) {
|
||||
if (first != second) throw AssertionError("$first != $second")
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
|
||||
var cnt = 0
|
||||
|
||||
fun A?.getA(): A? {
|
||||
cnt++
|
||||
return this
|
||||
}
|
||||
|
||||
fun get0(): Int {
|
||||
cnt++
|
||||
return 0
|
||||
}
|
||||
|
||||
class A
|
||||
|
||||
var A?.b: A?
|
||||
get() {
|
||||
return this
|
||||
}
|
||||
set(v) {
|
||||
}
|
||||
|
||||
operator fun A?.get(i: Int): A? = this
|
||||
operator fun A?.set(i: Int, v: A?): A? {
|
||||
return this
|
||||
}
|
||||
|
||||
operator fun A?.plus(a: A?) = this
|
||||
|
||||
fun test(a: A?) {
|
||||
a?.getA().b += null
|
||||
a.getA().b += null
|
||||
|
||||
a?.b[get0()] += null
|
||||
a.b[get0()] += null
|
||||
|
||||
a?.b[get0()][get0()] += null
|
||||
a.b[get0()][get0()] += null
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
test(null)
|
||||
if (cnt != 4) return "fail 1: $cnt"
|
||||
|
||||
cnt = 0
|
||||
test(A())
|
||||
if (cnt != 8) return "fail 2: $cnt"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+5
-3
@@ -1,5 +1,3 @@
|
||||
// IGNORE_BACKEND_K2: JS_IR
|
||||
// FIR_STATUS: KT-53490
|
||||
// EXPECTED_REACHABLE_NODES: 1298
|
||||
package foo
|
||||
|
||||
@@ -55,4 +53,8 @@ fun box(): String {
|
||||
assertEquals("getArray();getArrayIndex();A.plus(3);foo;A.plus(20);bar();A.plus(200);", log)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
fun assertEquals(first: Any?, second: Any?) {
|
||||
if (first != second) throw AssertionError("$first != $second")
|
||||
}
|
||||
+9
-6
@@ -21,9 +21,12 @@ FILE fqName:<root> fileName:/javaSyntheticGenericPropertyAccess.kt
|
||||
x: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null
|
||||
CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'j: <root>.J<F of <root>.test> declared in <root>.test' type=<root>.J<F of <root>.test> origin=null
|
||||
x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun getFoo (): kotlin.Int declared in <root>.J' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'j: <root>.J<F of <root>.test> declared in <root>.test' type=<root>.J<F of <root>.test> origin=null
|
||||
other: CONST Int type=kotlin.Int value=1
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.J<F of <root>.test> [val]
|
||||
GET_VAR 'j: <root>.J<F of <root>.test> declared in <root>.test' type=<root>.J<F of <root>.test> origin=null
|
||||
CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_2: <root>.J<F of <root>.test> declared in <root>.test' type=<root>.J<F of <root>.test> origin=null
|
||||
x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun getFoo (): kotlin.Int declared in <root>.J' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_2: <root>.J<F of <root>.test> declared in <root>.test' type=<root>.J<F of <root>.test> origin=null
|
||||
other: CONST Int type=kotlin.Int value=1
|
||||
|
||||
+4
-1
@@ -7,5 +7,8 @@ fun <F : Any?> test(j: J<F>) {
|
||||
<receiver>.setFoo(x = <unary>.inc())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
j.setFoo(x = j.getFoo().plus(other = 1))
|
||||
{ // BLOCK
|
||||
val <receiver>: J<F> = j
|
||||
<receiver>.setFoo(x = <receiver>.getFoo().plus(other = 1))
|
||||
}
|
||||
}
|
||||
|
||||
+9
-6
@@ -20,9 +20,12 @@ FILE fqName:<root> fileName:/javaSyntheticPropertyAccess.kt
|
||||
x: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_1: kotlin.Int declared in <root>.test' type=kotlin.Int origin=null
|
||||
CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'j: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||
x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun getFoo (): kotlin.Int declared in <root>.J' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'j: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||
other: CONST Int type=kotlin.Int value=1
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.J [val]
|
||||
GET_VAR 'j: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||
CALL 'public open fun setFoo (x: kotlin.Int): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_2: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||
x: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun getFoo (): kotlin.Int declared in <root>.J' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_2: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||
other: CONST Int type=kotlin.Int value=1
|
||||
|
||||
+4
-1
@@ -7,5 +7,8 @@ fun test(j: J) {
|
||||
<receiver>.setFoo(x = <unary>.inc())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
j.setFoo(x = j.getFoo().plus(other = 1))
|
||||
{ // BLOCK
|
||||
val <receiver>: J = j
|
||||
<receiver>.setFoo(x = <receiver>.getFoo().plus(other = 1))
|
||||
}
|
||||
}
|
||||
|
||||
+19
-17
@@ -74,42 +74,44 @@ FILE fqName:test fileName:/safeCallWithIncrementDecrement.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:test.C [val]
|
||||
GET_VAR 'val tmp_1: test.C? declared in test.testProperty' type=test.C? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-p> (): kotlin.Int declared in test' type=kotlin.Int origin=GET_PROPERTY
|
||||
$receiver: GET_VAR 'val tmp_1: test.C? declared in test.testProperty' type=test.C? origin=null
|
||||
$receiver: GET_VAR 'val tmp_2: test.C declared in test.testProperty' type=test.C origin=null
|
||||
CALL 'public final fun <set-p> (value: kotlin.Int): kotlin.Unit declared in test' type=kotlin.Unit origin=EQ
|
||||
$receiver: GET_VAR 'val tmp_1: test.C? declared in test.testProperty' type=test.C? origin=null
|
||||
$receiver: GET_VAR 'val tmp_2: test.C declared in test.testProperty' type=test.C origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_2: kotlin.Int declared in test.testProperty' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_2: kotlin.Int declared in test.testProperty' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_3: kotlin.Int declared in test.testProperty' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_3: kotlin.Int declared in test.testProperty' type=kotlin.Int origin=null
|
||||
FUN name:testArrayAccess visibility:public modality:FINAL <> (nc:test.C?) returnType:kotlin.Unit
|
||||
VALUE_PARAMETER name:nc index:0 type:test.C?
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int? origin=SAFE_CALL
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:test.C? [val]
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:test.C? [val]
|
||||
GET_VAR 'nc: test.C? declared in test.testArrayAccess' type=test.C? origin=null
|
||||
WHEN type=kotlin.Int? origin=null
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_3: test.C? declared in test.testArrayAccess' type=test.C? origin=null
|
||||
arg0: GET_VAR 'val tmp_4: test.C? declared in test.testArrayAccess' type=test.C? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value=null
|
||||
then: CONST Null type=kotlin.Nothing? value=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-p> (): kotlin.Int declared in test' type=kotlin.Int origin=GET_PROPERTY
|
||||
$receiver: GET_VAR 'val tmp_3: test.C? declared in test.testArrayAccess' type=test.C? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun <get-p> (): kotlin.Int declared in test' type=kotlin.Int origin=GET_PROPERTY
|
||||
$receiver: GET_VAR 'val tmp_4: test.C? declared in test.testArrayAccess' type=test.C? origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in test' type=kotlin.Int origin=null
|
||||
$receiver: GET_VAR 'val tmp_4: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
$receiver: GET_VAR 'val tmp_5: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
index: GET_VAR 'val tmp_6: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in test' type=kotlin.Unit origin=null
|
||||
$receiver: GET_VAR 'val tmp_4: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
$receiver: GET_VAR 'val tmp_5: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
index: GET_VAR 'val tmp_6: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_6: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_6: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_7: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_7: kotlin.Int declared in test.testArrayAccess' type=kotlin.Int origin=null
|
||||
|
||||
+3
-2
@@ -39,8 +39,9 @@ fun testProperty(nc: C?) {
|
||||
when {
|
||||
EQEQ(arg0 = tmp1_safe_receiver, arg1 = null) -> null
|
||||
else -> { // BLOCK
|
||||
val <unary>: Int = tmp1_safe_receiver.<get-p>()
|
||||
tmp1_safe_receiver.<set-p>(value = <unary>.inc())
|
||||
val <receiver>: C = tmp1_safe_receiver
|
||||
val <unary>: Int = <receiver>.<get-p>()
|
||||
<receiver>.<set-p>(value = <unary>.inc())
|
||||
<unary>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,460 @@
|
||||
FILE fqName:foo fileName:/AssignmentOperator.kt
|
||||
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.A
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.A [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-prop> visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-prop> (): kotlin.Int declared in foo.A'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: foo.A declared in foo.A.<get-prop>' type=foo.A origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-prop> visibility:public modality:FINAL <> ($this:foo.A, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: foo.A declared in foo.A.<set-prop>' type=foo.A origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.Int declared in foo.A.<set-prop>' type=kotlin.Int origin=null
|
||||
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
|
||||
CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.B
|
||||
CONSTRUCTOR visibility:private <> () returnType:foo.B [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-prop> visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.B
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-prop> (): kotlin.Int declared in foo.B'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: foo.B declared in foo.B.<get-prop>' type=foo.B origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-prop> visibility:public modality:FINAL <> ($this:foo.B, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.B
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: foo.B declared in foo.B.<set-prop>' type=foo.B origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.Int declared in foo.B.<set-prop>' type=kotlin.Int origin=null
|
||||
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
|
||||
PROPERTY name:array visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:array type:kotlin.Array<kotlin.Int> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun arrayOf <T> (vararg elements: T of kotlin.arrayOf): kotlin.Array<T of kotlin.arrayOf> declared in kotlin' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Int
|
||||
elements: VARARG type=kotlin.Array<out kotlin.Int> varargElementType=kotlin.Int
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-array> visibility:public modality:FINAL <> () returnType:kotlin.Array<kotlin.Int>
|
||||
correspondingProperty: PROPERTY name:array visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:array type:kotlin.Array<kotlin.Int> visibility:private [final,static]' type=kotlin.Array<kotlin.Int> origin=null
|
||||
FUN name:id visibility:public modality:FINAL <T> (t:T of foo.id) returnType:T of foo.id
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
VALUE_PARAMETER name:t index:0 type:T of foo.id
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun id <T> (t: T of foo.id): T of foo.id declared in foo'
|
||||
GET_VAR 't: T of foo.id declared in foo.id' type=T of foo.id origin=null
|
||||
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:a type:foo.A [val]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.A' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CONST Int type=kotlin.Int value=10
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_11: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_11: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=EQ
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=10
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_13: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_15: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_16: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_25: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
GET_VAR 'val tmp_25: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_26: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_27: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_29: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_30: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_31: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_35: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
GET_VAR 'val tmp_35: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_36: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_37: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_39: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_40: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val tmp_41: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
@@ -0,0 +1,164 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
var prop: Int
|
||||
field = 0
|
||||
get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
object B {
|
||||
private constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
var prop: Int
|
||||
field = 0
|
||||
get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
val array: Array<Int>
|
||||
field = arrayOf<Int>(elements = [0])
|
||||
get
|
||||
|
||||
fun <T : Any?> id(t: T): T {
|
||||
return t
|
||||
}
|
||||
|
||||
fun main() {
|
||||
val a: A = A()
|
||||
id<A>(t = a).<set-prop>(<set-?> = 10)
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().plus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().minus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().times(other = 2))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().div(other = 5))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().rem(other = 3))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
val <unary>: Int = <receiver>.<get-prop>()
|
||||
<receiver>.<set-prop>(<set-?> = <unary>.inc())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
val <unary>: Int = <receiver>.<get-prop>()
|
||||
<receiver>.<set-prop>(<set-?> = <unary>.dec())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().inc())
|
||||
<receiver>.<get-prop>()
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val <receiver>: A = id<A>(t = a)
|
||||
<receiver>.<set-prop>(<set-?> = <receiver>.<get-prop>().dec())
|
||||
<receiver>.<get-prop>()
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val <unary>: Int = B.<get-prop>()
|
||||
B.<set-prop>(<set-?> = <unary>.inc())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val <unary>: Int = B.<get-prop>()
|
||||
B.<set-prop>(<set-?> = <unary>.dec())
|
||||
<unary>
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
B.<set-prop>(<set-?> = B.<get-prop>().inc())
|
||||
B.<get-prop>()
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
B.<set-prop>(<set-?> = B.<get-prop>().dec())
|
||||
B.<get-prop>()
|
||||
} /*~> Unit */
|
||||
id<Array<Int>>(t = <get-array>()).set(index = 0, value = 10)
|
||||
{ // BLOCK
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).plus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).minus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).times(other = 2))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).div(other = 5))
|
||||
}
|
||||
{ // BLOCK
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).rem(other = 3))
|
||||
}
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
val <unary>: Int = <array>.get(index = <index_0>)
|
||||
<array>.set(index = <index_0>, value = <unary>.inc())
|
||||
<unary> /*~> Unit */
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
val <unary>: Int = <array>.get(index = <index_0>)
|
||||
<array>.set(index = <index_0>, value = <unary>.dec())
|
||||
<unary> /*~> Unit */
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).inc())
|
||||
<array>.get(index = <index_0>) /*~> Unit */
|
||||
val <array>: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).dec())
|
||||
<array>.get(index = <index_0>) /*~> Unit */
|
||||
val <array>: Array<Int> = <get-array>()
|
||||
val <index_0>: Int = 0
|
||||
val <unary>: Int = <array>.get(index = <index_0>)
|
||||
<array>.set(index = <index_0>, value = <unary>.inc())
|
||||
<unary> /*~> Unit */
|
||||
val <array>: Array<Int> = <get-array>()
|
||||
val <index_0>: Int = 0
|
||||
val <unary>: Int = <array>.get(index = <index_0>)
|
||||
<array>.set(index = <index_0>, value = <unary>.dec())
|
||||
<unary> /*~> Unit */
|
||||
val <array>: Array<Int> = <get-array>()
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).inc())
|
||||
<array>.get(index = <index_0>) /*~> Unit */
|
||||
val <array>: Array<Int> = <get-array>()
|
||||
val <index_0>: Int = 0
|
||||
<array>.set(index = <index_0>, value = <array>.get(index = <index_0>).dec())
|
||||
<array>.get(index = <index_0>) /*~> Unit */
|
||||
}
|
||||
@@ -0,0 +1,484 @@
|
||||
FILE fqName:foo fileName:/AssignmentOperator.kt
|
||||
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.A
|
||||
CONSTRUCTOR visibility:public <> () returnType:foo.A [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-prop> visibility:public modality:FINAL <> ($this:foo.A) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-prop> (): kotlin.Int declared in foo.A'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: foo.A declared in foo.A.<get-prop>' type=foo.A origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-prop> visibility:public modality:FINAL <> ($this:foo.A, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.A
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: foo.A declared in foo.A.<set-prop>' type=foo.A origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.Int declared in foo.A.<set-prop>' type=kotlin.Int origin=null
|
||||
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
|
||||
CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:foo.B
|
||||
CONSTRUCTOR visibility:private <> () returnType:foo.B [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-prop> visibility:public modality:FINAL <> ($this:foo.B) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.B
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-prop> (): kotlin.Int declared in foo.B'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: foo.B declared in foo.B.<get-prop>' type=foo.B origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-prop> visibility:public modality:FINAL <> ($this:foo.B, <set-?>:kotlin.Int) returnType:kotlin.Unit
|
||||
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [var]
|
||||
$this: VALUE_PARAMETER name:<this> type:foo.B
|
||||
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: foo.B declared in foo.B.<set-prop>' type=foo.B origin=null
|
||||
value: GET_VAR '<set-?>: kotlin.Int declared in foo.B.<set-prop>' type=kotlin.Int origin=null
|
||||
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
|
||||
PROPERTY name:array visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:array type:kotlin.Array<kotlin.Int> visibility:private [final,static]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun arrayOf <T> (vararg elements: T of kotlin.arrayOf): kotlin.Array<T of kotlin.arrayOf> declared in kotlin' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Int
|
||||
elements: VARARG type=kotlin.Array<out kotlin.Int> varargElementType=kotlin.Int
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-array> visibility:public modality:FINAL <> () returnType:kotlin.Array<kotlin.Int>
|
||||
correspondingProperty: PROPERTY name:array visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:array type:kotlin.Array<kotlin.Int> visibility:private [final,static]' type=kotlin.Array<kotlin.Int> origin=null
|
||||
FUN name:id visibility:public modality:FINAL <T> (t:T of foo.id) returnType:T of foo.id
|
||||
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
|
||||
VALUE_PARAMETER name:t index:0 type:T of foo.id
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun id <T> (t: T of foo.id): T of foo.id declared in foo'
|
||||
GET_VAR 't: T of foo.id declared in foo.id' type=T of foo.id origin=null
|
||||
FUN name:main visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:a type:foo.A [val]
|
||||
CONSTRUCTOR_CALL 'public constructor <init> () declared in foo.A' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=EQ
|
||||
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CONST Int type=kotlin.Int value=10
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=MINUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=MINUSEQ
|
||||
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=MINUSEQ
|
||||
$this: GET_VAR 'val tmp_1: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=MULTEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=MULTEQ
|
||||
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=MULTEQ
|
||||
$this: GET_VAR 'val tmp_2: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
BLOCK type=kotlin.Unit origin=DIVEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=DIVEQ
|
||||
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=DIVEQ
|
||||
$this: GET_VAR 'val tmp_3: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
BLOCK type=kotlin.Unit origin=PERCEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PERCEQ
|
||||
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PERCEQ
|
||||
$this: GET_VAR 'val tmp_4: foo.A declared in foo.main' type=foo.A origin=null
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_5: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_6: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_7: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_8: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_9: foo.A declared in foo.main' type=foo.A origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:foo.A [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=foo.A origin=null
|
||||
<T>: foo.A
|
||||
t: GET_VAR 'val a: foo.A declared in foo.main' type=foo.A origin=null
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.A' type=kotlin.Unit origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.A' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_10: foo.A declared in foo.main' type=foo.A origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:foo.B [val]
|
||||
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_11: foo.B declared in foo.main' type=foo.B origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_11: foo.B declared in foo.main' type=foo.B origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_12: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:foo.B [val]
|
||||
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_13: foo.B declared in foo.main' type=foo.B origin=null
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_13: foo.B declared in foo.main' type=foo.B origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_14: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:foo.B [val]
|
||||
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
|
||||
<set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_15: foo.B declared in foo.main' type=foo.B origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:foo.B [val]
|
||||
GET_OBJECT 'CLASS OBJECT name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=foo.B
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
CALL 'public final fun <set-prop> (<set-?>: kotlin.Int): kotlin.Unit declared in foo.B' type=kotlin.Unit origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
|
||||
<set-?>: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
|
||||
CALL 'public final fun <get-prop> (): kotlin.Int declared in foo.B' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_16: foo.B declared in foo.main' type=foo.B origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=EQ
|
||||
$this: CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=10
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_17: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_18: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=MINUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=MINUSEQ
|
||||
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun minus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MINUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=MINUSEQ
|
||||
$this: GET_VAR 'val tmp_19: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_20: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BLOCK type=kotlin.Unit origin=MULTEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=MULTEQ
|
||||
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun times (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=MULTEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=MULTEQ
|
||||
$this: GET_VAR 'val tmp_21: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_22: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
BLOCK type=kotlin.Unit origin=DIVEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=DIVEQ
|
||||
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun div (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=DIVEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=DIVEQ
|
||||
$this: GET_VAR 'val tmp_23: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_24: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
BLOCK type=kotlin.Unit origin=PERCEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PERCEQ
|
||||
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun rem (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PERCEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PERCEQ
|
||||
$this: GET_VAR 'val tmp_25: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_26: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_27: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_28: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_29: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_29: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_30: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_31: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_32: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_33: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_34: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun id <T> (t: T of foo.id): T of foo.id declared in foo' type=kotlin.Array<kotlin.Int> origin=null
|
||||
<T>: kotlin.Array<kotlin.Int>
|
||||
t: CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_35: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_36: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_37: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_38: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'val tmp_39: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_39: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_40: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_41: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR
|
||||
$this: GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
GET_VAR 'val tmp_42: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_43 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_44 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_INCR
|
||||
$this: GET_VAR 'val tmp_43: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_44: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
BLOCK type=kotlin.Int origin=PREFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_45 type:kotlin.Array<kotlin.Int> [val]
|
||||
CALL 'public final fun <get-array> (): kotlin.Array<kotlin.Int> declared in foo' type=kotlin.Array<kotlin.Int> origin=GET_PROPERTY
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_46 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit declared in kotlin.Array' type=kotlin.Unit origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.Int origin=PREFIX_DECR
|
||||
$this: GET_VAR 'val tmp_45: kotlin.Array<kotlin.Int> declared in foo.main' type=kotlin.Array<kotlin.Int> origin=null
|
||||
index: GET_VAR 'val tmp_46: kotlin.Int declared in foo.main' type=kotlin.Int origin=null
|
||||
@@ -0,0 +1,54 @@
|
||||
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
|
||||
package foo
|
||||
|
||||
class A {
|
||||
var prop: Int = 0
|
||||
}
|
||||
|
||||
object B {
|
||||
var prop: Int = 0
|
||||
}
|
||||
|
||||
val array: Array<Int> = arrayOf(0)
|
||||
|
||||
fun <T> id(t: T): T {
|
||||
return t
|
||||
}
|
||||
|
||||
fun main() {
|
||||
val a = A()
|
||||
|
||||
id(a).prop = 10
|
||||
id(a).prop += 20
|
||||
id(a).prop -= 20
|
||||
id(a).prop *= 2
|
||||
id(a).prop /= 5
|
||||
id(a).prop %= 3
|
||||
|
||||
id(a).prop++
|
||||
id(a).prop--
|
||||
++id(a).prop
|
||||
--id(a).prop
|
||||
|
||||
B.prop++
|
||||
B.prop--
|
||||
++B.prop
|
||||
--B.prop
|
||||
|
||||
id(array)[0] = 10
|
||||
id(array)[0] += 20
|
||||
id(array)[0] -= 20
|
||||
id(array)[0] *= 2
|
||||
id(array)[0] /= 5
|
||||
id(array)[0] %= 3
|
||||
|
||||
id(array)[0]++
|
||||
id(array)[0]--
|
||||
++id(array)[0]
|
||||
--id(array)[0]
|
||||
|
||||
array[0]++
|
||||
array[0]--
|
||||
++array[0]
|
||||
--array[0]
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
package foo
|
||||
|
||||
class A {
|
||||
constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
var prop: Int
|
||||
field = 0
|
||||
get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
object B {
|
||||
private constructor() /* primary */ {
|
||||
super/*Any*/()
|
||||
/* <init>() */
|
||||
|
||||
}
|
||||
|
||||
var prop: Int
|
||||
field = 0
|
||||
get
|
||||
set
|
||||
|
||||
}
|
||||
|
||||
val array: Array<Int>
|
||||
field = arrayOf<Int>(elements = [0])
|
||||
get
|
||||
|
||||
fun <T : Any?> id(t: T): T {
|
||||
return t
|
||||
}
|
||||
|
||||
fun main() {
|
||||
val a: A = A()
|
||||
id<A>(t = a).<set-prop>(<set-?> = 10)
|
||||
{ // BLOCK
|
||||
val tmp0_this: A = id<A>(t = a)
|
||||
tmp0_this.<set-prop>(<set-?> = tmp0_this.<get-prop>().plus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp1_this: A = id<A>(t = a)
|
||||
tmp1_this.<set-prop>(<set-?> = tmp1_this.<get-prop>().minus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp2_this: A = id<A>(t = a)
|
||||
tmp2_this.<set-prop>(<set-?> = tmp2_this.<get-prop>().times(other = 2))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp3_this: A = id<A>(t = a)
|
||||
tmp3_this.<set-prop>(<set-?> = tmp3_this.<get-prop>().div(other = 5))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp4_this: A = id<A>(t = a)
|
||||
tmp4_this.<set-prop>(<set-?> = tmp4_this.<get-prop>().rem(other = 3))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp5_this: A = id<A>(t = a)
|
||||
{ // BLOCK
|
||||
val tmp6: Int = tmp5_this.<get-prop>()
|
||||
tmp5_this.<set-prop>(<set-?> = tmp6.inc())
|
||||
tmp6
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp7_this: A = id<A>(t = a)
|
||||
{ // BLOCK
|
||||
val tmp8: Int = tmp7_this.<get-prop>()
|
||||
tmp7_this.<set-prop>(<set-?> = tmp8.dec())
|
||||
tmp8
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp9_this: A = id<A>(t = a)
|
||||
{ // BLOCK
|
||||
tmp9_this.<set-prop>(<set-?> = tmp9_this.<get-prop>().inc())
|
||||
tmp9_this.<get-prop>()
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp10_this: A = id<A>(t = a)
|
||||
{ // BLOCK
|
||||
tmp10_this.<set-prop>(<set-?> = tmp10_this.<get-prop>().dec())
|
||||
tmp10_this.<get-prop>()
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp11_this: B = B
|
||||
{ // BLOCK
|
||||
val tmp12: Int = tmp11_this.<get-prop>()
|
||||
tmp11_this.<set-prop>(<set-?> = tmp12.inc())
|
||||
tmp12
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp13_this: B = B
|
||||
{ // BLOCK
|
||||
val tmp14: Int = tmp13_this.<get-prop>()
|
||||
tmp13_this.<set-prop>(<set-?> = tmp14.dec())
|
||||
tmp14
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp15_this: B = B
|
||||
{ // BLOCK
|
||||
tmp15_this.<set-prop>(<set-?> = tmp15_this.<get-prop>().inc())
|
||||
tmp15_this.<get-prop>()
|
||||
}
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp16_this: B = B
|
||||
{ // BLOCK
|
||||
tmp16_this.<set-prop>(<set-?> = tmp16_this.<get-prop>().dec())
|
||||
tmp16_this.<get-prop>()
|
||||
}
|
||||
} /*~> Unit */
|
||||
id<Array<Int>>(t = <get-array>()).set(index = 0, value = 10)
|
||||
{ // BLOCK
|
||||
val tmp17_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp18_index0: Int = 0
|
||||
tmp17_array.set(index = tmp18_index0, value = tmp17_array.get(index = tmp18_index0).plus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp19_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp20_index0: Int = 0
|
||||
tmp19_array.set(index = tmp20_index0, value = tmp19_array.get(index = tmp20_index0).minus(other = 20))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp21_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp22_index0: Int = 0
|
||||
tmp21_array.set(index = tmp22_index0, value = tmp21_array.get(index = tmp22_index0).times(other = 2))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp23_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp24_index0: Int = 0
|
||||
tmp23_array.set(index = tmp24_index0, value = tmp23_array.get(index = tmp24_index0).div(other = 5))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp25_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp26_index0: Int = 0
|
||||
tmp25_array.set(index = tmp26_index0, value = tmp25_array.get(index = tmp26_index0).rem(other = 3))
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp27_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp28_index0: Int = 0
|
||||
val tmp29: Int = tmp27_array.get(index = tmp28_index0)
|
||||
tmp27_array.set(index = tmp28_index0, value = tmp29.inc())
|
||||
tmp29
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp30_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp31_index0: Int = 0
|
||||
val tmp32: Int = tmp30_array.get(index = tmp31_index0)
|
||||
tmp30_array.set(index = tmp31_index0, value = tmp32.dec())
|
||||
tmp32
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp33_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp34_index0: Int = 0
|
||||
tmp33_array.set(index = tmp34_index0, value = tmp33_array.get(index = tmp34_index0).inc())
|
||||
tmp33_array.get(index = tmp34_index0)
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp35_array: Array<Int> = id<Array<Int>>(t = <get-array>())
|
||||
val tmp36_index0: Int = 0
|
||||
tmp35_array.set(index = tmp36_index0, value = tmp35_array.get(index = tmp36_index0).dec())
|
||||
tmp35_array.get(index = tmp36_index0)
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp37_array: Array<Int> = <get-array>()
|
||||
val tmp38_index0: Int = 0
|
||||
val tmp39: Int = tmp37_array.get(index = tmp38_index0)
|
||||
tmp37_array.set(index = tmp38_index0, value = tmp39.inc())
|
||||
tmp39
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp40_array: Array<Int> = <get-array>()
|
||||
val tmp41_index0: Int = 0
|
||||
val tmp42: Int = tmp40_array.get(index = tmp41_index0)
|
||||
tmp40_array.set(index = tmp41_index0, value = tmp42.dec())
|
||||
tmp42
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp43_array: Array<Int> = <get-array>()
|
||||
val tmp44_index0: Int = 0
|
||||
tmp43_array.set(index = tmp44_index0, value = tmp43_array.get(index = tmp44_index0).inc())
|
||||
tmp43_array.get(index = tmp44_index0)
|
||||
} /*~> Unit */
|
||||
{ // BLOCK
|
||||
val tmp45_array: Array<Int> = <get-array>()
|
||||
val tmp46_index0: Int = 0
|
||||
tmp45_array.set(index = tmp46_index0, value = tmp45_array.get(index = tmp46_index0).dec())
|
||||
tmp45_array.get(index = tmp46_index0)
|
||||
} /*~> Unit */
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package foo
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo{}array
|
||||
// Public signature: foo/array|6187513897999240281[0]
|
||||
val array: Array<Int>
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#<get-array>(){}kotlin.Array<kotlin.Int>
|
||||
// Public signature: foo/array.<get-array>|7467926770652597701[0]
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#<get-array>(){}
|
||||
// Public signature: foo/array.<get-array>|-7741494344808015919[0]
|
||||
get
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.A
|
||||
// Public signature: foo/A|null[0]
|
||||
class A {
|
||||
// CHECK:
|
||||
// Mangled name: foo.A{}prop
|
||||
// Public signature: foo/A.prop|3598315380056892812[0]
|
||||
var prop: Int
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.A#<get-prop>(){}kotlin.Int
|
||||
// Public signature: foo/A.prop.<get-prop>|-2094203252476742575[0]
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.A#<get-prop>(){}
|
||||
// Public signature: foo/A.prop.<get-prop>|-5734736374948136327[0]
|
||||
get
|
||||
// CHECK:
|
||||
// Mangled name: foo.A#<set-prop>(kotlin.Int){}
|
||||
// Public signature: foo/A.prop.<set-prop>|3724820243841906450[0]
|
||||
set
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.A#<init>(){}
|
||||
// Public signature: foo/A.<init>|-5645683436151566731[0]
|
||||
constructor() /* primary */
|
||||
|
||||
}
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.B
|
||||
// Public signature: foo/B|null[0]
|
||||
object B {
|
||||
// CHECK:
|
||||
// Mangled name: foo.B{}prop
|
||||
// Public signature: foo/B.prop|3598315380056892812[0]
|
||||
var prop: Int
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo.B#<get-prop>(){}kotlin.Int
|
||||
// Public signature: foo/B.prop.<get-prop>|-2094203252476742575[0]
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo.B#<get-prop>(){}
|
||||
// Public signature: foo/B.prop.<get-prop>|-5734736374948136327[0]
|
||||
get
|
||||
// CHECK:
|
||||
// Mangled name: foo.B#<set-prop>(kotlin.Int){}
|
||||
// Public signature: foo/B.prop.<set-prop>|3724820243841906450[0]
|
||||
set
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: foo.B#<init>(){}
|
||||
// Public signature: foo/B.<init>|-5645683436151566731[0]
|
||||
private constructor() /* primary */
|
||||
|
||||
}
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#id(0:0){0§<kotlin.Any?>}0:0
|
||||
// Public signature: foo/id|-6791396263062521506[0]
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#id(0:0){0§<kotlin.Any?>}
|
||||
// Public signature: foo/id|9187295668833355463[0]
|
||||
fun <T : Any?> id(t: T): T
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name computed from Ir: foo#main(){}
|
||||
// Mangled name computed from Descriptor: foo#main(){}%AssignmentOperator.kt
|
||||
// Public signature: foo/main|7392120756922895329[0]
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: foo#main(){}
|
||||
// Public signature: foo/main|-4284757841571462650[0]
|
||||
fun main(): Unit
|
||||
+12
@@ -33309,6 +33309,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -33435,6 +33441,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+18
@@ -35001,12 +35001,24 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignmentOperations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssigmentPlusLhsCount.kt")
|
||||
public void testAugmentedAssigmentPlusLhsCount() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/augmentedAssigmentPlusLhsCount.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssignmentInInitializer.kt")
|
||||
public void testAugmentedAssignmentInInitializer() throws Exception {
|
||||
@@ -35127,6 +35139,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+18
@@ -35001,12 +35001,24 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignmentOperations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssigmentPlusLhsCount.kt")
|
||||
public void testAugmentedAssigmentPlusLhsCount() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/augmentedAssigmentPlusLhsCount.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("augmentedAssignmentInInitializer.kt")
|
||||
public void testAugmentedAssignmentInInitializer() throws Exception {
|
||||
@@ -35127,6 +35139,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+6
@@ -2594,6 +2594,12 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
+15
@@ -29833,6 +29833,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class OperatorConventions extends AbstractLightAnalysisModeTest {
|
||||
@TestMetadata("augmentedAssigmentPlusLhsCount.kt")
|
||||
public void ignoreAugmentedAssigmentPlusLhsCount() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/augmentedAssigmentPlusLhsCount.kt");
|
||||
}
|
||||
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
|
||||
}
|
||||
@@ -29846,6 +29851,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignmentOperations.kt");
|
||||
@@ -29951,6 +29961,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/remAssignmentOperation.kt");
|
||||
|
||||
+5
@@ -1965,6 +1965,11 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/candidateSymbol.kt");
|
||||
|
||||
-12
@@ -3303,12 +3303,6 @@ public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToArrayElementWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("booleanAndOr.kt")
|
||||
public void testBooleanAndOr() throws Exception {
|
||||
@@ -3465,12 +3459,6 @@ public class FirJsBoxTestGenerated extends AbstractFirJsBoxTest {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/orOrWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("secondaryConstructorTemporaryVars.kt")
|
||||
public void testSecondaryConstructorTemporaryVars() throws Exception {
|
||||
|
||||
+12
@@ -24645,6 +24645,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -24771,6 +24777,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
Generated
+6
@@ -2252,6 +2252,12 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
+6
@@ -2252,6 +2252,12 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
+6
@@ -2252,6 +2252,12 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("AssignmentOperator.kt")
|
||||
public void testAssignmentOperator() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/firProblems/AssignmentOperator.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("candidateSymbol.kt")
|
||||
public void testCandidateSymbol() throws Exception {
|
||||
|
||||
-12
@@ -3409,12 +3409,6 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToArrayElementWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("booleanAndOr.kt")
|
||||
public void testBooleanAndOr() throws Exception {
|
||||
@@ -3571,12 +3565,6 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/orOrWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("secondaryConstructorTemporaryVars.kt")
|
||||
public void testSecondaryConstructorTemporaryVars() throws Exception {
|
||||
|
||||
-12
@@ -3303,12 +3303,6 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToArrayElementWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("booleanAndOr.kt")
|
||||
public void testBooleanAndOr() throws Exception {
|
||||
@@ -3465,12 +3459,6 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/orOrWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("js/js.translator/testData/box/expression/evaluationOrder/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("secondaryConstructorTemporaryVars.kt")
|
||||
public void testSecondaryConstructorTemporaryVars() throws Exception {
|
||||
|
||||
+12
@@ -24645,6 +24645,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -24771,6 +24777,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+12
@@ -24645,6 +24645,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -24771,6 +24777,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+12
@@ -27644,6 +27644,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -27770,6 +27776,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+12
@@ -28276,6 +28276,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -28402,6 +28408,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+12
@@ -27329,6 +27329,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -27455,6 +27461,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
+12
@@ -27645,6 +27645,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -27771,6 +27777,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
Generated
+12
@@ -24411,6 +24411,12 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -24537,6 +24543,12 @@ public class FirWasmCodegenBoxTestGenerated extends AbstractFirWasmCodegenBoxTes
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
Generated
+12
@@ -24411,6 +24411,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/annotatedAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignToDotQualifiedWithSideEffect.kt")
|
||||
public void testAssignToDotQualifiedWithSideEffect() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/assignToDotQualifiedWithSideEffect.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("assignmentOperations.kt")
|
||||
public void testAssignmentOperations() throws Exception {
|
||||
@@ -24537,6 +24543,12 @@ public class K1WasmCodegenBoxTestGenerated extends AbstractK1WasmCodegenBoxTest
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/plusExplicit.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reassignmentLhsCaching.kt")
|
||||
public void testReassignmentLhsCaching() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/operatorConventions/reassignmentLhsCaching.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("remAssignmentOperation.kt")
|
||||
public void testRemAssignmentOperation() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user