From f9b217e65d8710016ff6f839550968a41fb6352b Mon Sep 17 00:00:00 2001 From: dongchao Date: Thu, 12 Jun 2025 16:15:29 +0800 Subject: [PATCH] Add CreateContextFromStringWithHistory Issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/ICEHP1 Signed-off-by: dongchao Change-Id: Idc99f15a5854dac557010afc4a01626886eedb86 --- koala-wrapper/native/src/bridges.cc | 8 ++++++++ koala-wrapper/src/Es2pandaNativeModule.ts | 3 +++ koala-wrapper/src/arkts-api/peers/Context.ts | 9 +++++++++ 3 files changed, 20 insertions(+) diff --git a/koala-wrapper/native/src/bridges.cc b/koala-wrapper/native/src/bridges.cc index 440bb5ba4..7a07b850d 100644 --- a/koala-wrapper/native/src/bridges.cc +++ b/koala-wrapper/native/src/bridges.cc @@ -220,6 +220,14 @@ KNativePointer impl_CreateContextFromString(KNativePointer configPtr, KStringPtr } KOALA_INTEROP_3(CreateContextFromString, KNativePointer, KNativePointer, KStringPtr, KStringPtr) +KNativePointer impl_CreateContextFromStringWithHistory(KNativePointer configPtr, KStringPtr& sourcePtr, + KStringPtr& filenamePtr, KBoolean isEnableHistory) +{ + auto config = reinterpret_cast(configPtr); + return GetImpl()->CreateContextFromStringWithHistory(config, sourcePtr.data(), filenamePtr.data(), isEnableHistory); +} +KOALA_INTEROP_4(CreateContextFromStringWithHistory, KNativePointer, KNativePointer, KStringPtr, KStringPtr, KBoolean) + KNativePointer impl_CreateContextFromFile(KNativePointer configPtr, KStringPtr& filenamePtr) { auto config = reinterpret_cast(configPtr); diff --git a/koala-wrapper/src/Es2pandaNativeModule.ts b/koala-wrapper/src/Es2pandaNativeModule.ts index 83a90fea2..fd3fa6c32 100644 --- a/koala-wrapper/src/Es2pandaNativeModule.ts +++ b/koala-wrapper/src/Es2pandaNativeModule.ts @@ -105,6 +105,9 @@ export class Es2pandaNativeModule { _CreateContextFromString(config: KPtr, source: String, filename: String): KPtr { throw new Error('Not implemented'); } + _CreateContextFromStringWithHistory(config: KPtr, source: String, filename: String, isEnableHistory: KBoolean): KPtr { + throw new Error('Not implemented'); + } _CreateContextFromFile(config: KPtr, filename: String): KPtr { throw new Error('Not implemented'); } diff --git a/koala-wrapper/src/arkts-api/peers/Context.ts b/koala-wrapper/src/arkts-api/peers/Context.ts index b4bf7a203..95f300dd3 100644 --- a/koala-wrapper/src/arkts-api/peers/Context.ts +++ b/koala-wrapper/src/arkts-api/peers/Context.ts @@ -34,6 +34,15 @@ export class Context extends ArktsObject { ); } + static createFromStringWithHistory(source: string, isEnableHistory: KBoolean): Context { + if (!global.configIsInitialized()) { + throwError(`Config not initialized`); + } + return new Context( + global.es2panda._CreateContextFromStringWithHistory(global.config, passString(source), passString(global.filePath), isEnableHistory) + ); + } + static createCacheContextFromFile( configPtr: KNativePointer, fileName: string, -- Gitee