From 6e00c4b5e052c4c8ed9ed30fb34f052694d0501f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E6=9F=A0?= Date: Mon, 1 Sep 2025 11:25:31 +0800 Subject: [PATCH] fix issue for arkts-array-type-immutable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue:https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/ICV3JI Test scenarios:fix issue for arkts-array-type-immutable Signed-off-by: 钟柠 --- ets2panda/linter/src/lib/TypeScriptLinter.ts | 3 +++ .../linter/test/main/arkts-array-type-immutable.ets | 2 ++ .../main/arkts-array-type-immutable.ets.arkts2.json | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index 180f5dae35..dea225b4e3 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -8356,6 +8356,9 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { } const isArray = this.tsUtils.isArray(lhsType) && this.tsUtils.isArray(rhsType); + if (isArray && this.tsTypeChecker.typeToString(lhsType) === 'never[]') { + return; + } const isTuple = this.tsUtils.isOrDerivedFrom(lhsType, TsUtils.isTuple) && this.tsUtils.isOrDerivedFrom(rhsType, TsUtils.isTuple); if (!((isArray || isTuple) && lhsType !== rhsType)) { diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets b/ets2panda/linter/test/main/arkts-array-type-immutable.ets index 3c018c68ab..08e31c3a9a 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets @@ -170,3 +170,5 @@ async function Foo_a(): Promise<(string| number)[]> { async function Foo_b(): Promise<(string| number)[]> { return correctArr; } + +AppStorage.SetOrCreate('passwordArray', [] as string[]); diff --git a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json index 8ef0297136..938a1e31b8 100644 --- a/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json +++ b/ets2panda/linter/test/main/arkts-array-type-immutable.ets.arkts2.json @@ -443,6 +443,16 @@ "suggest": "", "rule": "Array type is immutable in ArkTS1.2 (arkts-array-type-immutable)", "severity": "ERROR" + }, + { + "line": 174, + "column": 1, + "endLine": 174, + "endColumn": 11, + "problem": "UIInterfaceImport", + "suggest": "", + "rule": "The ArkUI interface \"AppStorage\" should be imported before it is used (arkui-modular-interface)", + "severity": "ERROR" } ] } \ No newline at end of file -- Gitee