From 8b7f6daa32235f3c9312131818e513b37a2b87b4 Mon Sep 17 00:00:00 2001 From: Utku Enes GURSEL Date: Sun, 27 Jul 2025 14:56:27 +0300 Subject: [PATCH] fix issue on arkts-invalid-identifier Issue: ICP2Z5 Description: fix issue on arkts-invalid-identifier Signed-off-by: Utku Enes GURSEL --- ets2panda/linter/src/lib/TypeScriptLinter.ts | 4 +++- .../linter/src/lib/autofixes/Autofixer.ts | 22 +++++++++---------- .../linter/test/main/invalid_identifier.ets | 11 +++++++--- .../main/invalid_identifier.ets.arkts2.json | 12 +--------- 4 files changed, 23 insertions(+), 26 deletions(-) diff --git a/ets2panda/linter/src/lib/TypeScriptLinter.ts b/ets2panda/linter/src/lib/TypeScriptLinter.ts index 9a0f958dd6..a9479bfdab 100644 --- a/ets2panda/linter/src/lib/TypeScriptLinter.ts +++ b/ets2panda/linter/src/lib/TypeScriptLinter.ts @@ -844,7 +844,9 @@ export class TypeScriptLinter extends BaseTypeScriptLinter { }); this.handleDeclarationDestructuring(tsParam); this.handleDeclarationInferredType(tsParam); - this.handleInvalidIdentifier(tsParam); + if (!ts.isArrowFunction(node.parent)) { + this.handleInvalidIdentifier(tsParam); + } this.handleSdkGlobalApi(tsParam); const typeNode = tsParam.type; if (this.options.arkts2 && typeNode && TsUtils.typeContainsVoid(typeNode)) { diff --git a/ets2panda/linter/src/lib/autofixes/Autofixer.ts b/ets2panda/linter/src/lib/autofixes/Autofixer.ts index 6c0a96ff54..fe3d2d3db6 100644 --- a/ets2panda/linter/src/lib/autofixes/Autofixer.ts +++ b/ets2panda/linter/src/lib/autofixes/Autofixer.ts @@ -4150,7 +4150,7 @@ export class Autofixer { return undefined; } - private static findParentVariableDeclaration(node: ts.Node): ts.VariableDeclaration | undefined { + private static findParentVariableDeclaration(node: ts.Node): ts.VariableDeclaration | undefined { while (node) { if (ts.isVariableDeclaration(node)) { return node; @@ -5362,11 +5362,9 @@ export class Autofixer { } fixSideEffectImport(importDeclNode: ts.ImportDeclaration): Autofix[] { - const initModuleCall = ts.factory.createCallExpression( - ts.factory.createIdentifier("initModule"), - undefined, - [importDeclNode.moduleSpecifier] - ); + const initModuleCall = ts.factory.createCallExpression(ts.factory.createIdentifier('initModule'), undefined, [ + importDeclNode.moduleSpecifier + ]); const expressionStatement = ts.factory.createExpressionStatement(initModuleCall); const replacedText = this.printer.printNode( ts.EmitHint.Unspecified, @@ -5374,10 +5372,12 @@ export class Autofixer { importDeclNode.getSourceFile() ); - return [{ - start: importDeclNode.getStart(), - end: importDeclNode.getEnd(), - replacementText: replacedText - }]; + return [ + { + start: importDeclNode.getStart(), + end: importDeclNode.getEnd(), + replacementText: replacedText + } + ]; } } diff --git a/ets2panda/linter/test/main/invalid_identifier.ets b/ets2panda/linter/test/main/invalid_identifier.ets index 51b1f3d06e..82e23b2d2b 100755 --- a/ets2panda/linter/test/main/invalid_identifier.ets +++ b/ets2panda/linter/test/main/invalid_identifier.ets @@ -85,7 +85,7 @@ const implements: string = "implements"; const protected: string = "protected"; -const public: string = "public"; +const public: string = "public"; const do: string = "do" @@ -134,11 +134,11 @@ const string: string = "hello"; const void: void = undefined; class String { - + private const: string = "const"; string: string = "hello"; - + constructor(string: string) { } @@ -246,3 +246,8 @@ _as as as }; let a = 1; + +let records: Record[] = []; + +records.forEach(Map => {}) +records.forEach(json => {}) diff --git a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json index 26b266ff8c..9870beca3a 100644 --- a/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json +++ b/ets2panda/linter/test/main/invalid_identifier.ets.arkts2.json @@ -634,16 +634,6 @@ "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", "severity": "ERROR" }, - { - "line": 160, - "column": 24, - "endLine": 160, - "endColumn": 30, - "problem": "InvalidIdentifier", - "suggest": "", - "rule": "This keyword cannot be used as identifiers (arkts-invalid-identifier)", - "severity": "ERROR" - }, { "line": 164, "column": 10, @@ -1065,4 +1055,4 @@ "severity": "ERROR" } ] -} \ No newline at end of file +} -- Gitee