From 9976b298bf1cba3a9ae1a2b4be5c5883a456a628 Mon Sep 17 00:00:00 2001 From: sefayilmazunal Date: Thu, 28 Aug 2025 16:38:42 +0300 Subject: [PATCH] fix:arkts-interop-ts2s-static-access-ts-type Description: fixed an issue on arkts-interop-ts2s-static-access-ts-type rule Issue: ICV0K8 Signed-off-by: sefayilmazunal --- ets2panda/linter/src/lib/TypeScriptLinter.ts | 6 + .../test/interop/unique_types.ets.arkts2.json | 12 +- .../interop/unique_types.ets.autofix.json | 12 +- .../interop/unique_types.ets.migrate.json | 42 +- .../interop/unique_types2.ets.arkts2.json | 82 +--- .../interop/unique_types3.ets.arkts2.json | 382 +----------------- 6 files changed, 26 insertions(+), 510 deletions(-) diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index bdd815d5ef..a47c657ee3 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -1634,6 +1634,12 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { private checkUsageOfTsTypes(baseType: ts.Type, node: ts.Node): void { const typeString = this.tsTypeChecker.typeToString(baseType); + + const symbol = baseType.getSymbol(); + if (symbol && !isStdLibrarySymbol(symbol)) { + return; + } + if ( TsUtils.isAnyType(baseType) || TsUtils.isUnknownType(baseType) || diff --git a/ets2panda/linter/test/interop/unique_types.ets.arkts2.json b/ets2panda/linter/test/interop/unique_types.ets.arkts2.json index aba8201c3c..296fd8ba8f 100644 --- a/ets2panda/linter/test/interop/unique_types.ets.arkts2.json +++ b/ets2panda/linter/test/interop/unique_types.ets.arkts2.json @@ -64,16 +64,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 75, - "column": 1, - "endLine": 75, - "endColumn": 9, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 78, "column": 7, @@ -535,4 +525,4 @@ "severity": "ERROR" } ] -} \ No newline at end of file +} diff --git a/ets2panda/linter/test/interop/unique_types.ets.autofix.json b/ets2panda/linter/test/interop/unique_types.ets.autofix.json index a15230739c..2a66da2e17 100644 --- a/ets2panda/linter/test/interop/unique_types.ets.autofix.json +++ b/ets2panda/linter/test/interop/unique_types.ets.autofix.json @@ -75,16 +75,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 75, - "column": 1, - "endLine": 75, - "endColumn": 9, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 78, "column": 7, @@ -546,4 +536,4 @@ "severity": "ERROR" } ] -} \ No newline at end of file +} diff --git a/ets2panda/linter/test/interop/unique_types.ets.migrate.json b/ets2panda/linter/test/interop/unique_types.ets.migrate.json index 28d850fbfb..70014c9268 100644 --- a/ets2panda/linter/test/interop/unique_types.ets.migrate.json +++ b/ets2panda/linter/test/interop/unique_types.ets.migrate.json @@ -54,16 +54,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 75, - "column": 1, - "endLine": 75, - "endColumn": 9, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 78, "column": 7, @@ -445,14 +435,14 @@ "severity": "ERROR" }, { - "line": 323, - "column": 5, - "endLine": 325, - "endColumn": 6, - "problem": "NoLocalClass", - "suggest": "", - "rule": "Creating local classes is not supported (arkts-no-local-class)", - "severity": "ERROR" + "line": 323, + "column": 5, + "endLine": 325, + "endColumn": 6, + "problem": "NoLocalClass", + "suggest": "", + "rule": "Creating local classes is not supported (arkts-no-local-class)", + "severity": "ERROR" }, { "line": 357, @@ -475,14 +465,14 @@ "severity": "ERROR" }, { - "line": 372, - "column": 5, - "endLine": 374, - "endColumn": 6, - "problem": "NoLocalClass", - "suggest": "", - "rule": "Creating local classes is not supported (arkts-no-local-class)", - "severity": "ERROR" + "line": 372, + "column": 5, + "endLine": 374, + "endColumn": 6, + "problem": "NoLocalClass", + "suggest": "", + "rule": "Creating local classes is not supported (arkts-no-local-class)", + "severity": "ERROR" }, { "line": 184, diff --git a/ets2panda/linter/test/interop/unique_types2.ets.arkts2.json b/ets2panda/linter/test/interop/unique_types2.ets.arkts2.json index fcdd5c1d78..b5e56dd566 100644 --- a/ets2panda/linter/test/interop/unique_types2.ets.arkts2.json +++ b/ets2panda/linter/test/interop/unique_types2.ets.arkts2.json @@ -84,16 +84,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 45, - "column": 21, - "endLine": 45, - "endColumn": 38, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 46, "column": 16, @@ -104,26 +94,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 50, - "column": 20, - "endLine": 50, - "endColumn": 28, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 50, - "column": 35, - "endLine": 50, - "endColumn": 48, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 50, "column": 53, @@ -214,16 +184,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 70, - "column": 20, - "endLine": 70, - "endColumn": 28, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 70, "column": 31, @@ -234,36 +194,6 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, - { - "line": 71, - "column": 18, - "endLine": 71, - "endColumn": 31, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 75, - "column": 23, - "endLine": 75, - "endColumn": 31, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 81, - "column": 24, - "endLine": 81, - "endColumn": 41, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 81, "column": 44, @@ -324,16 +254,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 93, - "column": 17, - "endLine": 93, - "endColumn": 30, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 116, "column": 18, @@ -575,4 +495,4 @@ "severity": "ERROR" } ] -} \ No newline at end of file +} diff --git a/ets2panda/linter/test/interop/unique_types3.ets.arkts2.json b/ets2panda/linter/test/interop/unique_types3.ets.arkts2.json index 88d820858d..bbc9ee2e0a 100644 --- a/ets2panda/linter/test/interop/unique_types3.ets.arkts2.json +++ b/ets2panda/linter/test/interop/unique_types3.ets.arkts2.json @@ -64,16 +64,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 93, - "column": 12, - "endLine": 93, - "endColumn": 20, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 97, "column": 17, @@ -84,16 +74,6 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, - { - "line": 97, - "column": 42, - "endLine": 97, - "endColumn": 45, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 97, "column": 46, @@ -114,16 +94,6 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, - { - "line": 98, - "column": 43, - "endLine": 98, - "endColumn": 47, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 99, "column": 18, @@ -134,16 +104,6 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, - { - "line": 99, - "column": 43, - "endLine": 99, - "endColumn": 47, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 99, "column": 48, @@ -164,166 +124,6 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, - { - "line": 105, - "column": 42, - "endLine": 105, - "endColumn": 45, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 106, - "column": 43, - "endLine": 106, - "endColumn": 47, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 107, - "column": 43, - "endLine": 107, - "endColumn": 47, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 108, - "column": 43, - "endLine": 108, - "endColumn": 47, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 114, - "column": 12, - "endLine": 114, - "endColumn": 30, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 116, - "column": 12, - "endLine": 116, - "endColumn": 31, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 117, - "column": 12, - "endLine": 117, - "endColumn": 30, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 118, - "column": 12, - "endLine": 118, - "endColumn": 30, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 119, - "column": 12, - "endLine": 119, - "endColumn": 31, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 120, - "column": 19, - "endLine": 120, - "endColumn": 36, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 125, - "column": 17, - "endLine": 125, - "endColumn": 29, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 126, - "column": 19, - "endLine": 126, - "endColumn": 23, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 130, - "column": 14, - "endLine": 130, - "endColumn": 23, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 133, - "column": 15, - "endLine": 133, - "endColumn": 25, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 139, - "column": 19, - "endLine": 139, - "endColumn": 23, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 144, - "column": 32, - "endLine": 144, - "endColumn": 40, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 149, "column": 12, @@ -334,16 +134,6 @@ "rule": "Indexed access is not supported for fields (arkts-no-props-by-index)", "severity": "ERROR" }, - { - "line": 149, - "column": 12, - "endLine": 149, - "endColumn": 33, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 153, "column": 12, @@ -394,56 +184,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 160, - "column": 5, - "endLine": 160, - "endColumn": 12, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 162, - "column": 10, - "endLine": 162, - "endColumn": 13, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 163, - "column": 16, - "endLine": 163, - "endColumn": 19, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 164, - "column": 10, - "endLine": 164, - "endColumn": 14, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 169, - "column": 12, - "endLine": 169, - "endColumn": 18, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 169, "column": 20, @@ -454,16 +194,6 @@ "rule": "Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)", "severity": "ERROR" }, - { - "line": 170, - "column": 7, - "endLine": 170, - "endColumn": 14, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 171, "column": 22, @@ -474,16 +204,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 172, - "column": 5, - "endLine": 172, - "endColumn": 12, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 172, "column": 19, @@ -494,36 +214,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 173, - "column": 30, - "endLine": 173, - "endColumn": 33, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 175, - "column": 14, - "endLine": 175, - "endColumn": 17, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 176, - "column": 14, - "endLine": 176, - "endColumn": 17, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 177, "column": 19, @@ -564,46 +254,6 @@ "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", "severity": "ERROR" }, - { - "line": 193, - "column": 13, - "endLine": 193, - "endColumn": 25, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 193, - "column": 26, - "endLine": 193, - "endColumn": 38, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 194, - "column": 11, - "endLine": 194, - "endColumn": 17, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 195, - "column": 13, - "endLine": 195, - "endColumn": 20, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 200, "column": 16, @@ -624,16 +274,6 @@ "rule": "Type \"void\" has no instances.(arkts-limited-void-type)", "severity": "ERROR" }, - { - "line": 200, - "column": 30, - "endLine": 200, - "endColumn": 53, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 201, "column": 12, @@ -664,26 +304,6 @@ "rule": "\"new\" expression with dynamic constructor type is not supported (arkts-no-dynamic-ctor-call)", "severity": "ERROR" }, - { - "line": 206, - "column": 24, - "endLine": 206, - "endColumn": 40, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, - { - "line": 211, - "column": 19, - "endLine": 211, - "endColumn": 26, - "problem": "InteropDirectAccessToTSTypes", - "suggest": "", - "rule": "Cannot access typescript types directly (arkts-interop-ts2s-static-access-ts-type)", - "severity": "ERROR" - }, { "line": 188, "column": 23, @@ -695,4 +315,4 @@ "severity": "ERROR" } ] -} \ No newline at end of file +} -- Gitee