Fix argument original type order in InlineCodegen

Arguments are put on stack in the direct order, and then stored into
local variables for inlining in the reversed order:

    <arg0>
    <arg1>
    <arg2>
    store <param2>
    store <param1>
    store <param0>

Original value parameter types were taken in direct order, though.
This commit is contained in:
Dmitry Petrov
2018-08-22 14:59:15 +03:00
parent 25b32b8e1d
commit 6e2d05cd94
8 changed files with 89 additions and 1 deletions
@@ -11570,6 +11570,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassesCheckCast.kt");
}
@TestMetadata("inlineClassesInInlineLambdaParameters.kt")
public void testInlineClassesInInlineLambdaParameters() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassesInInlineLambdaParameters.kt");
}
@TestMetadata("inlineFunctionInsideInlineClass.kt")
public void testInlineFunctionInsideInlineClass() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineFunctionInsideInlineClass.kt");
@@ -22000,6 +22005,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/unsignedTypes/evaluateConstructorOfUnsignedType.kt");
}
@TestMetadata("forEachIndexedInListOfUInts.kt")
public void testForEachIndexedInListOfUInts() throws Exception {
runTest("compiler/testData/codegen/box/unsignedTypes/forEachIndexedInListOfUInts.kt");
}
@TestMetadata("iterateOverArrayOfUnsignedValues.kt")
public void testIterateOverArrayOfUnsignedValues() throws Exception {
runTest("compiler/testData/codegen/box/unsignedTypes/iterateOverArrayOfUnsignedValues.kt");