diff --git a/port/linux/test/parse-test.cpp b/port/linux/test/parse-test.cpp index b234c042b..f55d27534 100644 --- a/port/linux/test/parse-test.cpp +++ b/port/linux/test/parse-test.cpp @@ -2056,7 +2056,9 @@ TEST(parser, class_) { "B1\n" "0 RAS $origin\n" "B1\n" - "0 RET self\n" + "0 NEW self\n" + "B1\n" + "0 RET\n" "B0\n" ); args_deinit(buffs); diff --git a/src/PikaParser.c b/src/PikaParser.c index f74668796..ea70c5dc4 100644 --- a/src/PikaParser.c +++ b/src/PikaParser.c @@ -1330,7 +1330,9 @@ char* AST_toPikaASM(AST* ast, Args* outBuffs) { pikaAsm = strsAppend(outBuffs, pikaAsm, (char*)"0 RAS $origin\n"); pikaAsm = ASM_addBlockDeepth(ast, outBuffs, pikaAsm, 1); - pikaAsm = strsAppend(outBuffs, pikaAsm, (char*)"0 RET self\n"); + pikaAsm = strsAppend(outBuffs, pikaAsm, (char*)"0 NEW self\n"); + pikaAsm = ASM_addBlockDeepth(ast, outBuffs, pikaAsm, 1); + pikaAsm = strsAppend(outBuffs, pikaAsm, (char*)"0 RET\n"); } } }