From 66d4bddb1fb56c6951ebf4a426e55d24c3520160 Mon Sep 17 00:00:00 2001 From: Jiakai Shi Date: Wed, 25 Jun 2025 15:27:42 +0800 Subject: [PATCH] fix get absolute path from source program Signed-off-by: Jiakai Shi Change-Id: I4ac8dc1c53521e8cf94098d67708e7946c942413 --- arkui-plugins/ui-plugins/component-transformer.ts | 2 +- koala-wrapper/native/src/bridges.cc | 9 +++++++++ koala-wrapper/src/Es2pandaNativeModule.ts | 4 ++++ koala-wrapper/src/arkts-api/peers/Program.ts | 7 +++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/arkui-plugins/ui-plugins/component-transformer.ts b/arkui-plugins/ui-plugins/component-transformer.ts index 44a676587..fa3067b00 100644 --- a/arkui-plugins/ui-plugins/component-transformer.ts +++ b/arkui-plugins/ui-plugins/component-transformer.ts @@ -255,7 +255,7 @@ export class ComponentTransformer extends AbstractVisitor { entryFactory.callRegisterNamedRouter( this.entryRouteName, this.projectConfig, - this.program?.globalAbsName + this.program?.absName ) ); this.createImportDeclaration(ENTRY_POINT_IMPORT_SOURCE_NAME, NavigationNames.NAVINTERFACE); diff --git a/koala-wrapper/native/src/bridges.cc b/koala-wrapper/native/src/bridges.cc index 0936041a4..73466e93d 100644 --- a/koala-wrapper/native/src/bridges.cc +++ b/koala-wrapper/native/src/bridges.cc @@ -446,6 +446,15 @@ KNativePointer impl_ETSParserGetGlobalProgramAbsName(KNativePointer contextPtr) } KOALA_INTEROP_1(ETSParserGetGlobalProgramAbsName, KNativePointer, KNativePointer) +KNativePointer impl_ProgramAbsoluteNameConst(KNativePointer contextPtr, KNativePointer instancePtr) +{ + auto context = reinterpret_cast(contextPtr); + auto &&instance = reinterpret_cast(instancePtr); + auto result = GetImpl()->ProgramAbsoluteNameConst(context, instance); + return new std::string(result); +} +KOALA_INTEROP_2(ProgramAbsoluteNameConst, KNativePointer, KNativePointer, KNativePointer); + KNativePointer impl_ClassVariableDeclaration(KNativePointer context, KNativePointer classInstance) { const auto _context = reinterpret_cast(context); diff --git a/koala-wrapper/src/Es2pandaNativeModule.ts b/koala-wrapper/src/Es2pandaNativeModule.ts index 9435c1a3f..1d323dc4c 100644 --- a/koala-wrapper/src/Es2pandaNativeModule.ts +++ b/koala-wrapper/src/Es2pandaNativeModule.ts @@ -820,6 +820,10 @@ export class Es2pandaNativeModule { throw new Error('Not implemented'); } + _ProgramAbsoluteNameConst(context: KNativePointer, instance: KNativePointer): KNativePointer { + throw new Error('Not implemented'); + } + _ImportSpecifierIsRemovableConst(context: KNativePointer, instance: KNativePointer): KBoolean { throw new Error('Not implemented'); } diff --git a/koala-wrapper/src/arkts-api/peers/Program.ts b/koala-wrapper/src/arkts-api/peers/Program.ts index 5a1099473..5733592bc 100644 --- a/koala-wrapper/src/arkts-api/peers/Program.ts +++ b/koala-wrapper/src/arkts-api/peers/Program.ts @@ -59,10 +59,17 @@ export class Program extends ArktsObject { return unpackString(global.es2panda._ProgramFileNameWithExtensionConst(global.context, this.peer)); } + /** + * @deprecated + */ get globalAbsName(): string { return unpackString(global.es2panda._ETSParserGetGlobalProgramAbsName(global.context)); } + get absName(): string { + return unpackString(global.es2panda._ProgramAbsoluteNameConst(global.context, this.peer)); + } + get moduleName(): string { return unpackString(global.es2panda._ProgramModuleNameConst(global.context, this.peer)); } -- Gitee