Inline: Fix operand stack type verify error
This is a proposal to fix KT-49364. Operand stack type verification happens before `checkcast` is executed. When we implicitly cast an inline class to a non-inline type, if type of stack value is not subtype of the target, then coercing is necessary.
This commit is contained in:
+6
@@ -21287,6 +21287,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/genericVararg2ndConstructor.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastToNonValueClassType.kt")
|
||||
public void testImplicitCastToNonValueClassType() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/implicitCastToNonValueClassType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlock.kt")
|
||||
public void testInitBlock() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user