From 4d646173414054f6a9e625af802975e67e0f8b40 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Thu, 28 Aug 2025 10:59:34 +0300 Subject: [PATCH] Fixes for libarkts Signed-off-by: Nikolay Igotti --- ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts | 9 +++++++-- .../src/arkts-api/node-utilities/ClassDefinition.ts | 9 ++++----- .../libarkts/src/arkts-api/node-utilities/ETSModule.ts | 5 +++-- .../src/arkts-api/node-utilities/ScriptFunction.ts | 5 +++-- .../arkts-api/node-utilities/TSInterfaceDeclaration.ts | 4 +++- ui2abc/libarkts/src/arkts-api/visitor.ts | 4 +++- .../test/arkts-api/recheck/exports/add-export/index.ts | 3 ++- .../test/arkts-api/recheck/exports/basic/index.ts | 3 ++- .../test/arkts-api/recheck/exports/create-class/index.ts | 4 +++- .../arkts-api/recheck/exports/struct-to-class/index.ts | 3 ++- 10 files changed, 32 insertions(+), 17 deletions(-) diff --git a/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts b/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts index ae6b308f9..e491c2089 100644 --- a/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts +++ b/ui2abc/libarkts/src/arkts-api/factory/nodeFactory.ts @@ -24,6 +24,7 @@ import { ETSStructDeclaration, ETSTuple, ETSTypeReferencePart, + Identifier, MemberExpression, ObjectExpression, TryStatement, @@ -54,11 +55,15 @@ import { createArrayExpression, updateArrayExpression } from "../node-utilities/ import { updateBlockStatement } from "../node-utilities/BlockStatement" import { updateETSModule } from "../node-utilities/ETSModule" import { createOpaqueTypeNode } from "../node-utilities/OpaqueTypeNode" +import { createIdentifier } from "@koalaui/ets-tsc" export const factory = { ...generatedFactory, - createETSModule: ETSModule.createETSModule, + createIdentifier: Identifier.create2Identifier, + updateIdentifier: Identifier.update1Identifier, + + createETSModule: ETSModule.create1ETSModule, updateETSModule, createCallExpression: CallExpression.createCallExpression, @@ -93,7 +98,7 @@ export const factory = { createETSStructDeclaration: ETSStructDeclaration.createETSStructDeclaration, updateETSStructDeclaration, - createClassDefinition: ClassDefinition.createClassDefinition, + createClassDefinition: ClassDefinition.create3ClassDefinition, updateClassDefinition, createClassProperty: ClassProperty.createClassProperty, diff --git a/ui2abc/libarkts/src/arkts-api/node-utilities/ClassDefinition.ts b/ui2abc/libarkts/src/arkts-api/node-utilities/ClassDefinition.ts index 33e0257fd..4dad93c0a 100644 --- a/ui2abc/libarkts/src/arkts-api/node-utilities/ClassDefinition.ts +++ b/ui2abc/libarkts/src/arkts-api/node-utilities/ClassDefinition.ts @@ -26,7 +26,7 @@ import { import { isSameNativeObject } from "../peers/ArktsObject" import { updateNodeByNode } from "../utilities/private" import { AstNode } from "../peers/AstNode" -import { Es2pandaClassDefinitionModifiers, Es2pandaModifierFlags } from "../../../generated/Es2pandaEnums" +import { Es2pandaClassDefinitionModifiers, Es2pandaModifierFlags, Es2pandaLanguage } from "../../../generated/Es2pandaEnums" export function updateClassDefinition( original: ClassDefinition, @@ -54,8 +54,8 @@ export function updateClassDefinition( ) { return original } - return updateNodeByNode( - ClassDefinition.createClassDefinition( + return ClassDefinition.update3ClassDefinition( + original, ident, typeParams, superTypeParams, @@ -65,8 +65,7 @@ export function updateClassDefinition( body, modifiers, flags, + Es2pandaLanguage.ETS, annotations, - ), - original ) } diff --git a/ui2abc/libarkts/src/arkts-api/node-utilities/ETSModule.ts b/ui2abc/libarkts/src/arkts-api/node-utilities/ETSModule.ts index f032c7c71..2cf87d0a9 100644 --- a/ui2abc/libarkts/src/arkts-api/node-utilities/ETSModule.ts +++ b/ui2abc/libarkts/src/arkts-api/node-utilities/ETSModule.ts @@ -16,7 +16,7 @@ import { ETSModule, Identifier, Program, Statement } from "../../../generated" import { isSameNativeObject } from "../peers/ArktsObject" import { updateNodeByNode } from "../utilities/private" -import { Es2pandaModuleFlag } from "../../../generated/Es2pandaEnums" +import { Es2pandaLanguage, Es2pandaModuleFlag } from "../../../generated/Es2pandaEnums" export function updateETSModule( original: ETSModule, @@ -33,10 +33,11 @@ export function updateETSModule( return original } return updateNodeByNode( - ETSModule.createETSModule( + ETSModule.create1ETSModule( statementList, ident, flag, + Es2pandaLanguage.ETS, program, ), original, diff --git a/ui2abc/libarkts/src/arkts-api/node-utilities/ScriptFunction.ts b/ui2abc/libarkts/src/arkts-api/node-utilities/ScriptFunction.ts index d32421741..ac30c6bd4 100644 --- a/ui2abc/libarkts/src/arkts-api/node-utilities/ScriptFunction.ts +++ b/ui2abc/libarkts/src/arkts-api/node-utilities/ScriptFunction.ts @@ -23,7 +23,7 @@ import { TypeNode } from "../../../generated" import { AstNode } from "../peers/AstNode" -import { Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from "../../../generated/Es2pandaEnums" +import { Es2pandaLanguage, Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from "../../../generated/Es2pandaEnums" import { isSameNativeObject } from "../peers/ArktsObject" import { updateNodeByNode } from "../utilities/private" import { KNativePointer } from "@koalaui/interop" @@ -41,7 +41,7 @@ export function createScriptFunction( signaturePointer?: KNativePointer, preferredReturnTypePointer?: KNativePointer, ) { - const res = ScriptFunction.createScriptFunction( + const res = ScriptFunction.create1ScriptFunction( databody, FunctionSignature.createFunctionSignature( typeParams, @@ -51,6 +51,7 @@ export function createScriptFunction( ), datafuncFlags, dataflags, + Es2pandaLanguage.ETS, ident, annotations, ) diff --git a/ui2abc/libarkts/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts b/ui2abc/libarkts/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts index a4e4784eb..525e536c9 100644 --- a/ui2abc/libarkts/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +++ b/ui2abc/libarkts/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts @@ -17,6 +17,7 @@ import { TSInterfaceDeclaration, TSInterfaceHeritage } from "../../../generated" import { + Es2pandaLanguage, Es2pandaModifierFlags, } from "../../../generated/Es2pandaEnums" import { isSameNativeObject } from "../peers/ArktsObject" @@ -32,13 +33,14 @@ export function createTSInterfaceDeclaration( isExternal: boolean, modifierFlags?: Es2pandaModifierFlags, ): TSInterfaceDeclaration { - return TSInterfaceDeclaration.createTSInterfaceDeclaration( + return TSInterfaceDeclaration.create1TSInterfaceDeclaration( _extends, id, typeParams, body, isStatic, isExternal, + Es2pandaLanguage.ETS, modifierFlags, ) } diff --git a/ui2abc/libarkts/src/arkts-api/visitor.ts b/ui2abc/libarkts/src/arkts-api/visitor.ts index a709ac590..da38d0ef2 100644 --- a/ui2abc/libarkts/src/arkts-api/visitor.ts +++ b/ui2abc/libarkts/src/arkts-api/visitor.ts @@ -130,7 +130,7 @@ import { VariableDeclarator, WhileStatement } from "../../generated" -import { Es2pandaAstNodeType, Es2pandaImportKinds } from "../../generated/Es2pandaEnums" +import { Es2pandaAstNodeType, Es2pandaImportKinds, Es2pandaLanguage } from "../../generated/Es2pandaEnums" import { factory } from "./factory/nodeFactory" import { AstNode } from "./peers/AstNode" import { global } from "./static/global" @@ -232,6 +232,7 @@ function visitETSModule(node: ETSModule, visitor: Visitor) { newStatements, newIdent, node.getNamespaceFlag(), + Es2pandaLanguage.ETS, node.program, ) result.onUpdate(node) @@ -502,6 +503,7 @@ function visitClassDefinition(node: ClassDefinition, visitor: Visitor) { newBody, node.modifiers, node.modifierFlags, + Es2pandaLanguage.ETS, newAnnotations, ) result.onUpdate(node) diff --git a/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts b/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts index d131f3cd2..ce3548ed3 100644 --- a/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts +++ b/ui2abc/libarkts/test/arkts-api/recheck/exports/add-export/index.ts @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + import * as arkts from "../../../../../src/arkts-api" class ExportClass extends arkts.AbstractVisitor { @@ -80,6 +80,7 @@ export function addUseImportClassSameFileAndExportClass(program: arkts.Program, ], arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.Es2pandaLanguage.ETS, ) ) ], diff --git a/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts b/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts index 5d0f11add..5d818d14f 100644 --- a/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts +++ b/ui2abc/libarkts/test/arkts-api/recheck/exports/basic/index.ts @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + import * as arkts from "../../../../../src/arkts-api" export function addUseImportClassSameFile(program: arkts.Program, options: arkts.CompilationOptions) { @@ -69,6 +69,7 @@ export function addUseImportClassSameFile(program: arkts.Program, options: arkts ], arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.Es2pandaLanguage.ETS ) ) ], diff --git a/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts b/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts index 15d194c3b..5184ad4fc 100644 --- a/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts +++ b/ui2abc/libarkts/test/arkts-api/recheck/exports/create-class/index.ts @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + import * as arkts from "../../../../../src/arkts-api" export function addUseImportClassSameFileAndCreateClass(program: arkts.Program, options: arkts.CompilationOptions) { @@ -69,6 +69,7 @@ export function addUseImportClassSameFileAndCreateClass(program: arkts.Program, ], arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.Es2pandaLanguage.ETS, ) ) ], @@ -121,6 +122,7 @@ export function addUseImportClassSameFileAndCreateClass(program: arkts.Program, ], arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.Es2pandaLanguage.ETS, ), arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_EXPORT, ) diff --git a/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts b/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts index 959a6d645..3d0dd37d3 100644 --- a/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts +++ b/ui2abc/libarkts/test/arkts-api/recheck/exports/struct-to-class/index.ts @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - + import * as arkts from "../../../../../src/arkts-api" class StructToClass extends arkts.AbstractVisitor { @@ -100,6 +100,7 @@ export function addUseImportClassSameFileAfterRewritingStructToClass(program: ar ], arkts.Es2pandaClassDefinitionModifiers.CLASS_DEFINITION_MODIFIERS_CLASS_DECL, arkts.Es2pandaModifierFlags.MODIFIER_FLAGS_NONE, + arkts.Es2pandaLanguage.ETS, ) ) ], -- Gitee