From a60711858830c86223781d54ca78babfd87d46da Mon Sep 17 00:00:00 2001 From: Klimentieva Date: Mon, 21 Jul 2025 13:44:37 +0300 Subject: [PATCH] fix codecheck Issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/ICOCAX Change-Id: I353f5d43dc86a574e9952f5a8ea58677acc95c8e Signed-off-by: Klimentieva --- ets2panda/checker/ets/utilityTypeHandlers.cpp | 1 + .../compiler/lowering/ets/genericBridgesLowering.cpp | 8 ++++---- ets2panda/ir/ets/etsTypeReference.cpp | 7 ++++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ets2panda/checker/ets/utilityTypeHandlers.cpp b/ets2panda/checker/ets/utilityTypeHandlers.cpp index 1041ab4faf..d004320264 100644 --- a/ets2panda/checker/ets/utilityTypeHandlers.cpp +++ b/ets2panda/checker/ets/utilityTypeHandlers.cpp @@ -530,6 +530,7 @@ static void SetupFunctionParams(ir::ScriptFunction *function, varbinder::Functio checker->AllocNode(checker->Allocator())}, checker->Allocator()->Adapter()), checker->Allocator()); + ES2PANDA_ASSERT(unionType != nullptr); paramExpr->Ident()->SetTsTypeAnnotation(unionType); unionType->SetParent(paramExpr->Ident()); } diff --git a/ets2panda/compiler/lowering/ets/genericBridgesLowering.cpp b/ets2panda/compiler/lowering/ets/genericBridgesLowering.cpp index 0805641419..fed45f5633 100644 --- a/ets2panda/compiler/lowering/ets/genericBridgesLowering.cpp +++ b/ets2panda/compiler/lowering/ets/genericBridgesLowering.cpp @@ -83,10 +83,10 @@ void GenericBridgesPhase::AddGenericBridge(ir::ClassDefinition const *const clas typeNodes.reserve(2U * baseSignature->Params().size() + 2U); auto const sourceCode = CreateMethodDefinitionString(classDefinition, baseSignature, derivedFunction, typeNodes); - - auto *const bridgeMethod = - parser->CreateFormattedClassMethodDefinition(sourceCode, typeNodes)->AsMethodDefinition(); - ES2PANDA_ASSERT(bridgeMethod); + auto *const bridgeMethodDefinition = parser->CreateFormattedClassMethodDefinition(sourceCode, typeNodes); + ES2PANDA_ASSERT(bridgeMethodDefinition != nullptr); + auto *const bridgeMethod = bridgeMethodDefinition->AsMethodDefinition(); + ES2PANDA_ASSERT(bridgeMethod != nullptr && methodDefinition->Id() != nullptr); bridgeMethod->AddModifier(methodDefinition->Modifiers()); bridgeMethod->ClearModifier(ir::ModifierFlags::NATIVE | ir::ModifierFlags::ABSTRACT); bridgeMethod->AddAstNodeFlags(methodDefinition->GetAstNodeFlags()); diff --git a/ets2panda/ir/ets/etsTypeReference.cpp b/ets2panda/ir/ets/etsTypeReference.cpp index 21db7e1814..f33748988e 100644 --- a/ets2panda/ir/ets/etsTypeReference.cpp +++ b/ets2panda/ir/ets/etsTypeReference.cpp @@ -112,7 +112,12 @@ checker::Type *ETSTypeReference::GetType(checker::ETSChecker *checker) ETSTypeReference *ETSTypeReference::Clone(ArenaAllocator *const allocator, AstNode *const parent) { - auto *const partClone = part_ != nullptr ? part_->Clone(allocator, nullptr)->AsETSTypeReferencePart() : nullptr; + ETSTypeReferencePart *partClone = nullptr; + if (part_ != nullptr) { + auto *const clone = part_->Clone(allocator, nullptr); + ES2PANDA_ASSERT(clone != nullptr); + partClone = clone->AsETSTypeReferencePart(); + } auto *const clone = allocator->New(partClone, allocator); if (partClone != nullptr) { -- Gitee