From 1161b93521e53bce8962bf164375f8cd1d683fae Mon Sep 17 00:00:00 2001 From: VictorS67 Date: Tue, 26 Aug 2025 09:02:39 +0300 Subject: [PATCH] stop visit within script-function --- .../condition-scope-visitor.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arkui-plugins/ui-plugins/builder-lambda-translators/condition-scope-visitor.ts b/arkui-plugins/ui-plugins/builder-lambda-translators/condition-scope-visitor.ts index b8d9937c0..fec5d4ed0 100644 --- a/arkui-plugins/ui-plugins/builder-lambda-translators/condition-scope-visitor.ts +++ b/arkui-plugins/ui-plugins/builder-lambda-translators/condition-scope-visitor.ts @@ -20,7 +20,7 @@ import { factory as BuilderLambdaFactory } from './factory'; /** * `ConditionScopeVisitor` is used to visit `@Builder` function body to wrap `ConditionScope`/`ConditionBranch` * to if-else or switch-case statements. - * + * * @internal */ export class ConditionScopeVisitor extends AbstractVisitor { @@ -37,7 +37,14 @@ export class ConditionScopeVisitor extends AbstractVisitor { return this.instance; } + private shouldStopVisit(node: arkts.AstNode): boolean { + return arkts.isScriptFunction(node); + } + visitor(node: arkts.AstNode): arkts.AstNode { + if (this.shouldStopVisit(node)) { + return node; + } if (arkts.isIfStatement(node)) { return BuilderLambdaFactory.updateIfElseContentBodyInBuilderLambda(node, true, true); } -- Gitee