From 635cb44bf37efac9b977d6fec9547f8c35aca9e1 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Tue, 10 Nov 2020 19:10:49 +0300 Subject: [PATCH] [IR] update testdata: support IrDynamic* nodes --- .../dynamic/dynamicArrayAccess.kt.txt | 9 ++---- .../dynamic/dynamicArrayAssignment.kt.txt | 6 ++-- .../dynamicArrayAugmentedAssignment.kt.txt | 15 ++++------ .../dynamicArrayIncrementDecrement.kt.txt | 12 +++----- .../dynamicBinaryEqualityOperator.kt.txt | 12 +++----- .../dynamicBinaryLogicalOperator.kt.txt | 6 ++-- .../dynamic/dynamicBinaryOperator.kt.txt | 15 ++++------ .../dynamicBinaryRelationalOperator.kt.txt | 12 +++----- .../ir/irJsText/dynamic/dynamicCall.kt.txt | 9 ++---- .../irJsText/dynamic/dynamicInfixCall.kt.txt | 6 ++-- .../dynamic/dynamicMemberAccess.kt.txt | 6 ++-- .../dynamic/dynamicMemberAssignment.kt.txt | 6 ++-- .../dynamicMemberAugmentedAssignment.kt.txt | 30 +++++++------------ .../dynamicMemberIncrementDecrement.kt.txt | 24 +++++---------- .../dynamic/dynamicUnaryOperator.kt.txt | 9 ++---- .../dynamic/implicitCastFromDynamic.kt.txt | 3 +- .../ir/irJsText/dynamic/invokeOperator.kt.txt | 18 ++++------- 17 files changed, 66 insertions(+), 132 deletions(-) diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.kt.txt index 83d22993e48..d1a6db4830c 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAccess.kt.txt @@ -1,15 +1,12 @@ fun testArrayAccess1(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d["KEY"] } fun testArrayAccess2(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d()["KEY"] } fun testArrayAccess3(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d.get("KEY") } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.kt.txt index ef9dbb7c795..acabdfa38a1 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAssignment.kt.txt @@ -1,10 +1,8 @@ fun testArrayAssignment(d: dynamic) { - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + d["KEY"] = 1 } fun testArrayAssignmentFake(d: dynamic) { - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + d.set("KEY", 2) } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.kt.txt index 5a15a128130..54e993c95c3 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayAugmentedAssignment.kt.txt @@ -1,13 +1,8 @@ fun testArrayAugmentedAssignment(d: dynamic) { - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + d["KEY"] += "+=" + d["KEY"] -= "-=" + d["KEY"] *= "*=" + d["KEY"] /= "/=" + d["KEY"] %= "%=" } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.kt.txt index 30237b4f279..832586c406c 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicArrayIncrementDecrement.kt.txt @@ -1,11 +1,7 @@ fun testArrayIncrementDecrement(d: dynamic) { - val t1: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t2: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t3: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t4: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + val t1: dynamic = ++d["prefixIncr"] + val t2: dynamic = --d["prefixDecr"] + val t3: dynamic = d["postfixIncr"]++ + val t4: dynamic = d["postfixDecr"]-- } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.kt.txt index 3c8a61dcb7b..cfec12a5b0b 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryEqualityOperator.kt.txt @@ -1,20 +1,16 @@ fun testEqeq(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d == 3 } fun testExclEq(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d != 3 } fun testEqeqeq(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d === 3 } fun testExclEqeq(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d !== 3 } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.kt.txt index 6bec0a27226..bb41eb23fd6 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryLogicalOperator.kt.txt @@ -1,10 +1,8 @@ fun testAndAnd(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d && d } fun testOrOr(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d || d } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.kt.txt index 4b824741a9b..a401a3f656a 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryOperator.kt.txt @@ -1,25 +1,20 @@ fun testBinaryPlus(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d + 1 } fun testBinaryMinus(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d - 1 } fun testMul(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d * 2 } fun testDiv(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d / 2 } fun testMod(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d % 2 } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.kt.txt index 5b338fd196a..ae79535199e 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicBinaryRelationalOperator.kt.txt @@ -1,20 +1,16 @@ fun testLess(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d < 2 } fun testLessOrEqual(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d <= 2 } fun testGreater(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d > 2 } fun testGreaterOrEqual(d: dynamic): Boolean { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d >= 2 } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicCall.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicCall.kt.txt index fba47c8579f..af23e17284b 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicCall.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicCall.kt.txt @@ -1,6 +1,5 @@ fun test1(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d.member(1, 2, 3) } fun test2(d: dynamic): dynamic { @@ -8,14 +7,12 @@ fun test2(d: dynamic): dynamic { val tmp0_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp0_safe_receiver.member(1, 2, 3) } } } fun test3(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d.member(1, 2, 3) } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.kt.txt index 4da39341115..85730ce2f90 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicInfixCall.kt.txt @@ -1,10 +1,8 @@ fun test1(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d.foo(123) } fun test2(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return d.invoke(123) } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.kt.txt index 75ac901be06..eb76f1c02b9 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAccess.kt.txt @@ -1,6 +1,5 @@ fun test1(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicMemberExpressionImpl */ - + return d.member } fun test2(d: dynamic): dynamic { @@ -8,8 +7,7 @@ fun test2(d: dynamic): dynamic { val tmp0_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicMemberExpressionImpl */ - + true -> tmp0_safe_receiver.member } } } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.kt.txt index f2c842dd4b2..ff938434c56 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAssignment.kt.txt @@ -1,6 +1,5 @@ fun testMemberAssignment(d: dynamic) { - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + d.m = 1 } fun testSafeMemberAssignment(d: dynamic) { @@ -8,8 +7,7 @@ fun testSafeMemberAssignment(d: dynamic) { val tmp0_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp0_safe_receiver.m = 1 } } } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.kt.txt index dfb1d73067c..cc8293f48f6 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberAugmentedAssignment.kt.txt @@ -1,14 +1,9 @@ fun testAugmentedMemberAssignment(d: dynamic) { - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + d.m += "+=" + d.m -= "-=" + d.m *= "*=" + d.m /= "/=" + d.m %= "%=" } fun testSafeAugmentedMemberAssignment(d: dynamic) { @@ -16,40 +11,35 @@ fun testSafeAugmentedMemberAssignment(d: dynamic) { val tmp0_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp0_safe_receiver.m += "+=" } } { // BLOCK val tmp1_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp1_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp1_safe_receiver.m -= "-=" } } { // BLOCK val tmp2_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp2_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp2_safe_receiver.m *= "*=" } } { // BLOCK val tmp3_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp3_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp3_safe_receiver.m /= "/=" } } { // BLOCK val tmp4_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp4_safe_receiver, arg1 = null) -> null /*~> Unit */ - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp4_safe_receiver.m %= "%=" } } } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.kt.txt index 0c46c1b89dc..886013fdecd 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicMemberIncrementDecrement.kt.txt @@ -1,12 +1,8 @@ fun testMemberIncrementDecrement(d: dynamic) { - val t1: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t2: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t3: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - - val t4: dynamic = error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + val t1: dynamic = ++d.prefixIncr + val t2: dynamic = --d.prefixDecr + val t3: dynamic = d.postfixIncr++ + val t4: dynamic = d.postfixDecr-- } fun testSafeMemberIncrementDecrement(d: dynamic) { @@ -14,32 +10,28 @@ fun testSafeMemberIncrementDecrement(d: dynamic) { val tmp0_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp0_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> ++tmp0_safe_receiver.prefixIncr } } val t2: dynamic = { // BLOCK val tmp1_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp1_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> --tmp1_safe_receiver.prefixDecr } } val t3: dynamic = { // BLOCK val tmp2_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp2_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp2_safe_receiver.postfixIncr++ } } val t4: dynamic = { // BLOCK val tmp3_safe_receiver: dynamic = d when { EQEQ(arg0 = tmp3_safe_receiver, arg1 = null) -> null - true -> error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + true -> tmp3_safe_receiver.postfixDecr-- } } } diff --git a/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.kt.txt index 24ec92f5615..9e62fa8c1d9 100644 --- a/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/dynamicUnaryOperator.kt.txt @@ -1,15 +1,12 @@ fun testUnaryMinus(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return -d } fun testUnaryPlus(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return +d } fun testExcl(d: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return !d } diff --git a/compiler/testData/ir/irJsText/dynamic/implicitCastFromDynamic.kt.txt b/compiler/testData/ir/irJsText/dynamic/implicitCastFromDynamic.kt.txt index 716d7da407d..2b176d650ef 100644 --- a/compiler/testData/ir/irJsText/dynamic/implicitCastFromDynamic.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/implicitCastFromDynamic.kt.txt @@ -19,7 +19,6 @@ fun test3(d: dynamic): Any? { } fun test4(d: dynamic): String { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - /*~> String */ + return d.member(1, 2, 3) /*~> String */ } diff --git a/compiler/testData/ir/irJsText/dynamic/invokeOperator.kt.txt b/compiler/testData/ir/irJsText/dynamic/invokeOperator.kt.txt index 191b3b23437..13b46d8c8cc 100644 --- a/compiler/testData/ir/irJsText/dynamic/invokeOperator.kt.txt +++ b/compiler/testData/ir/irJsText/dynamic/invokeOperator.kt.txt @@ -2,33 +2,27 @@ fun invoke() { } fun test1(a: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a(1) } fun test2(a: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a.invoke(1) } fun test3(a: dynamic, b: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a(b) } fun test4(a: dynamic, b: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a.invoke(b) } fun test5(a: dynamic, b: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a(b)(b) } fun test6(a: dynamic, b: dynamic): dynamic { - return error("") /* ERROR: unsupported element type: IrDynamicOperatorExpressionImpl */ - + return a(b).invoke(b) } fun test7(a: dynamic) {