From af9b1664d96474b48f28e54df43fbe171be141d6 Mon Sep 17 00:00:00 2001 From: Shimenkov Mikhail Date: Wed, 4 Jun 2025 13:42:33 +0300 Subject: [PATCH] Fix enum init again Signed-off-by: Shimenkov Mikhail Change-Id: I4e5a4ee579564cefff05999d8860739d5fe579db --- .../compiler/lowering/ets/constantExpressionLowering.cpp | 2 +- ets2panda/compiler/lowering/scopesInit/scopesInitPhase.cpp | 2 +- .../test/test-lists/ets-runtime/ets-runtime-ignored.txt | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ets2panda/compiler/lowering/ets/constantExpressionLowering.cpp b/ets2panda/compiler/lowering/ets/constantExpressionLowering.cpp index 696f48bab..fefcdb29f 100644 --- a/ets2panda/compiler/lowering/ets/constantExpressionLowering.cpp +++ b/ets2panda/compiler/lowering/ets/constantExpressionLowering.cpp @@ -1332,7 +1332,7 @@ ir::AstNode *ConstantExpressionLowering::MaybeUnfoldIdentifier(ir::Identifier *n } auto *resolved = ResolveIdentifier(node); - if (resolved == nullptr || !resolved->Declaration()->IsConstDecl()) { + if (resolved == nullptr || !(resolved->Declaration()->IsConstDecl() || resolved->Declaration()->IsReadonlyDecl())) { return node; } return UnfoldResolvedReference(resolved->Declaration()->Node(), node); diff --git a/ets2panda/compiler/lowering/scopesInit/scopesInitPhase.cpp b/ets2panda/compiler/lowering/scopesInit/scopesInitPhase.cpp index b0c239c38..5ff66ce13 100644 --- a/ets2panda/compiler/lowering/scopesInit/scopesInitPhase.cpp +++ b/ets2panda/compiler/lowering/scopesInit/scopesInitPhase.cpp @@ -1077,7 +1077,7 @@ void InitScopesPhaseETS::VisitTSEnumMember(ir::TSEnumMember *enumMember) if (var = VarBinder()->GetScope()->FindLocal(name, varbinder::ResolveBindingOptions::STATIC_VARIABLES); var == nullptr) { varbinder::Decl *decl = nullptr; - std::tie(decl, var) = VarBinder()->NewVarDecl(ident->Start(), name); + std::tie(decl, var) = VarBinder()->NewVarDecl(ident->Start(), name); var->SetScope(VarBinder()->GetScope()); var->AddFlag(varbinder::VariableFlags::STATIC); decl->BindNode(enumMember); diff --git a/ets2panda/test/test-lists/ets-runtime/ets-runtime-ignored.txt b/ets2panda/test/test-lists/ets-runtime/ets-runtime-ignored.txt index 37713ee60..777a0c383 100644 --- a/ets2panda/test/test-lists/ets-runtime/ets-runtime-ignored.txt +++ b/ets2panda/test/test-lists/ets-runtime/ets-runtime-ignored.txt @@ -103,9 +103,6 @@ type_from_primitive_type.ets # Rebase no-primitives pathch onto master with merger Array refactoring union_generic_class.ets -# No-primitives #24986 [start] -enum-initialize-with-itself.ets - # New failures at #FailKind.VERIFIER_FAIL inferTypeLambda_14.ets @@ -117,4 +114,4 @@ overload-primitive-and-object.ets lambda_with_restparameter_optinal_fixedarray.ets finallyTryAbruptedByReturn.ets -# No-primitives #24986 [end] \ No newline at end of file +# No-primitives #24986 [end] -- Gitee