diff --git a/ets2panda/compiler/core/ETSemitter.cpp b/ets2panda/compiler/core/ETSemitter.cpp index 81da21404f28f8f506208a0d4bf7362bc84395bd..4567a2986d2cf0d6124a491f684ac8d174ee8e0b 100644 --- a/ets2panda/compiler/core/ETSemitter.cpp +++ b/ets2panda/compiler/core/ETSemitter.cpp @@ -349,32 +349,32 @@ static pandasm::ScalarValue CreateScalarValue(ir::Literal const *literal, checke static_cast(literal->AsBooleanLiteral()->Value())); } case checker::TypeFlag::BYTE: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsByte()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetByte()); } case checker::TypeFlag::SHORT: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsShort()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetShort()); } case checker::TypeFlag::INT: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsInt()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetInt()); } case checker::TypeFlag::LONG: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsLong()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetLong()); } case checker::TypeFlag::FLOAT: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsFloat()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetFloat()); } case checker::TypeFlag::DOUBLE: { - ES2PANDA_ASSERT(literal->IsNumberLiteral() && literal->AsNumberLiteral()->Number().IsDouble()); + ES2PANDA_ASSERT(literal->IsNumberLiteral()); return pandasm::ScalarValue::Create( literal->AsNumberLiteral()->Number().GetDouble()); } diff --git a/ets2panda/compiler/lowering/ets/expandBrackets.cpp b/ets2panda/compiler/lowering/ets/expandBrackets.cpp index f1fdf8eb28c14a055d03ca984d6dbc19e5fe4310..5753cefacf8a54f962e19c28d724de5a7c515098 100644 --- a/ets2panda/compiler/lowering/ets/expandBrackets.cpp +++ b/ets2panda/compiler/lowering/ets/expandBrackets.cpp @@ -33,8 +33,8 @@ static constexpr char const FORMAT_NEW_ARRAY_EXPRESSION[] = " throw new TypeError(\"Fractional part of index expression should be zero.\");" "};" "(@@E5);"; -static constexpr char const CAST_NEW_DIMENSION_EXPRESSION[] = "@@I1 as int"; -static constexpr char const CAST_OLD_DIMENSION_EXPRESSION[] = "(@@E1) as int"; +static constexpr char const CAST_NEW_DIMENSION_EXPRESSION[] = "(@@I1).toInt()"; +static constexpr char const CAST_OLD_DIMENSION_EXPRESSION[] = "(@@E1).toInt()"; // NOLINTEND(modernize-avoid-c-arrays) ir::Expression *ExpandBracketsPhase::ProcessNewArrayInstanceExpression(