diff --git a/arkoala-arkts/arkui/generated/component/text.ets b/arkoala-arkts/arkui/generated/component/text.ets index fa130ffb0c3c1ecc45a52da2ed38bd0ccf0270ab..d6c94a1107159cd5759e97e21255f108c073d3fb 100644 --- a/arkoala-arkts/arkui/generated/component/text.ets +++ b/arkoala-arkts/arkui/generated/component/text.ets @@ -1184,7 +1184,7 @@ export enum MarqueeStartPolicy { ON_FOCUS = 1 } export interface TextOptions { - controller: TextController; + controller?: TextController; } export interface TextMarqueeOptions { start: boolean; @@ -3530,7 +3530,7 @@ export class TextOptions_serializer { public static write(buffer: SerializerBase, value: TextOptions): void { let valueSerializer : SerializerBase = buffer const valueHolderForController = value.controller - TextController_serializer.write(valueSerializer, valueHolderForController) + TextController_serializer.write(valueSerializer, valueHolderForController!) } public static read(buffer: DeserializerBase): TextOptions { let valueDeserializer : DeserializerBase = buffer diff --git a/arkoala-arkts/arkui/sdk/component/text.ets b/arkoala-arkts/arkui/sdk/component/text.ets index 46d72fbaa37c7aa26a345fb2e306af7edadc75d4..4df0fc8c15f3e344ca88ac1c54726b8a5a05483a 100644 --- a/arkoala-arkts/arkui/sdk/component/text.ets +++ b/arkoala-arkts/arkui/sdk/component/text.ets @@ -361,7 +361,7 @@ export enum MarqueeStartPolicy { ON_FOCUS = 1 } export declare interface TextOptions { - controller: TextController; + controller?: TextController; } export declare interface TextMarqueeOptions { start: boolean; diff --git a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp index 64d7d40580f57f451a180f786799f318cc43fcff..ec1aeaaa91ef5aa2ca9db17fe90f99244684143c 100644 --- a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp +++ b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.cpp @@ -458,7 +458,7 @@ JSMeasureLayoutParamNG::JSMeasureLayoutParamNG(NG::LayoutWrapper* layoutWrapper, if (ANI_OK != env->GetVM(&vm)) { LOGE("GetVM failed"); } - deleter_ = [vm](ani_array_ref ref) { + deleter_ = [vm](ani_array ref) { if (ref != nullptr) { ani_env* env = nullptr; vm->GetEnv(ANI_VERSION_1, &env); @@ -471,26 +471,21 @@ JSMeasureLayoutParamNG::JSMeasureLayoutParamNG(NG::LayoutWrapper* layoutWrapper, void JSMeasureLayoutParamNG::Init(ani_env* env) { int32_t count = GetTotalChildCount(); - ani_class childCls = nullptr; - static const char *className = "Larkui/ani/arkts/ArkUIAniCustomNodeModule/MeasurableLayoutableInner;"; - if (ANI_OK != env->FindClass(className, &childCls)) { - return; - } ani_ref undefinedRef = nullptr; if (ANI_OK != env->GetUndefined(&undefinedRef)) { return; } - ani_array_ref array; - if (ANI_OK != env->Array_New_Ref(childCls, count, undefinedRef, &array)) { + ani_array array; + if (ANI_OK != env->Array_New(count, undefinedRef, &array)) { return; } ani_ref temp; if (ANI_OK != env->GlobalReference_Create(static_cast(array), &temp)) { return; } - childArray_.reset(static_cast(temp), deleter_); + childArray_.reset(static_cast(temp), deleter_); GenChildArray(env, 0, count); } @@ -531,7 +526,7 @@ void JSMeasureLayoutParamNG::GenChildArray(ani_env* env, int32_t start, int32_t } } - if (ANI_OK != env->Array_Set_Ref(childArray_.get(), index, info)) { + if (ANI_OK != env->Array_Set(childArray_.get(), index, info)) { return; } } @@ -589,8 +584,8 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap return; } - ani_array_ref array; - if (ANI_OK != env->Array_New_Ref(childCls, newCount, undefinedRef, &array)) { + ani_array array; + if (ANI_OK != env->Array_New(newCount, undefinedRef, &array)) { return; } @@ -605,7 +600,7 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap return; } } - if (ANI_OK != env->Array_Set_Ref(array, index, info)) { + if (ANI_OK != env->Array_Set(array, index, info)) { return; } } @@ -613,7 +608,7 @@ void JSMeasureLayoutParamNG::Update(ani_env* env, NG::LayoutWrapper* layoutWrap if (ANI_OK != env->GlobalReference_Create(static_cast(array), &temp)) { return; } - childArray_.reset(static_cast(temp), deleter_); + childArray_.reset(static_cast(temp), deleter_); } } diff --git a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h index d2728ca2abbac9556bb507bbd4e6501c95812f9c..574592f85dc29639154f0294e29782198a4d0a4e 100644 --- a/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h +++ b/arkoala-arkts/arkui/src/ani/native/custom/ani_measure_layout.h @@ -57,10 +57,10 @@ public: } void GenChildArray(ani_env* env, int32_t start, int32_t end); - using AniArrayRef = std::remove_reference_t(nullptr))>; + using AniArray = std::remove_reference_t(nullptr))>; - std::shared_ptr childArray_; - std::function deleter_; + std::shared_ptr childArray_; + std::function deleter_; }; diff --git a/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp b/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp index 57253ed28f1aec4b08e9e4fdbc0abb6853f1ba4b..520bef5ae2edf4b8f6283e27f7aa9e5c30af715a 100644 --- a/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp +++ b/arkoala-arkts/arkui/src/ani/native/drag_and_drop/native_drag_drop_global.cpp @@ -186,7 +186,7 @@ void DragSetAllowDropNull([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_ob } void DragSetAllowDrop([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_object object, - [[maybe_unused]] ani_long pointer, [[maybe_unused]] ani_array_ref array, [[maybe_unused]] ani_int length) + [[maybe_unused]] ani_long pointer, [[maybe_unused]] ani_array array, [[maybe_unused]] ani_int length) { auto* frameNode = reinterpret_cast(pointer); if (!frameNode || length < 0) { @@ -205,7 +205,7 @@ void DragSetAllowDrop([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_object const char** allowDrops = new const char* [length]; std::vector allowDropsSave(length); for (int i = 0; i < length; i++) { - if (ANI_OK == env->Array_Get_Ref(array, i, &ref)) { + if (ANI_OK == env->Array_Get(array, i, &ref)) { ani_string stringValue = static_cast(ref); std::string dataType = AniUtils::ANIStringToStdString(env, stringValue); allowDropsSave[i] = dataType; diff --git a/arkoala-arkts/arkui/src/stateManagement/base/observeWrappedArray.ts b/arkoala-arkts/arkui/src/stateManagement/base/observeWrappedArray.ts index db12ae234c7b226742b17810b5b1b21fdbe409b9..332dcb5a35f6783a1b614e76a0e8cf99bedeb10f 100644 --- a/arkoala-arkts/arkui/src/stateManagement/base/observeWrappedArray.ts +++ b/arkoala-arkts/arkui/src/stateManagement/base/observeWrappedArray.ts @@ -975,22 +975,7 @@ export class WrappedArray extends Array implements IObservedObject, Observ * @param fromIndex index to search from * @returns index of val, -1 otherwise */ - public override indexOf(val: T, fromIndex: int): int { - if (this.shouldAddRef()) { - this.meta_.addRef(CONSTANT.OB_ARRAY_ANY_KEY); - } - return this.store_.indexOf(val, fromIndex); - } - - /** - * Returns the first index at which a given element - * can be found in the array, or -1 if it is not present. - * - * @param val value to search - * @param fromIndex index to search from - * @returns index of val, -1 otherwise - */ - public override indexOf(val: T, fromIndex?: Number): number { + public override indexOf(val: T, fromIndex?: int): int { if (this.shouldAddRef()) { this.meta_.addRef(CONSTANT.OB_ARRAY_ANY_KEY); } diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets index 09b49de10f430abf380332632b73725c2a14f790..a130f027520f0761341f4ea400b0aa48a266e4ba 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets @@ -111,7 +111,8 @@ export struct User { url: item.uri, params: { num: this.num, - ratio: this.ratio + ratio: this.ratio, + message: 'undefined' } as SearchParam }) }) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/utils.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/utils.ets index c1020b98e399d0d8db00fe8459682be98539fa38..c48aabeb64d9c41ae5e94b5790ad6945f71d7a14 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/utils.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/utils.ets @@ -16,7 +16,7 @@ function simpleHash(str: string) { let hash = 0; for (let i = 0; i < str.length; i++) { - const char_ = str.charCodeAt(i); + const char_ = str.charCodeAt(i).toInt(); hash = (hash << 5) - hash + char_; } return BigInt(hash >>> 0).toString(36).padStart(7, '0'); diff --git a/incremental/common/src/sha1.ts b/incremental/common/src/sha1.ts index 0976f5cc9fd1b7857c31cdd1eaac98d0d1d686fd..189be4764055abadf736b59c2ee66874c16aac40 100644 --- a/incremental/common/src/sha1.ts +++ b/incremental/common/src/sha1.ts @@ -158,7 +158,7 @@ export class SHA1Hash { let index = start while (offset < length && index < inputBytes) { - let code = text.charCodeAt(offset++) | 0 + let code = float64toInt32(text.charCodeAt(offset++)) | 0 if (code < 0x80) { // ASCII characters _byte[index++] = code diff --git a/incremental/common/src/stringUtils.ts b/incremental/common/src/stringUtils.ts index ce01753ae35a55952e5f5526a7654942d8f75367..f2dfcc8c2f12624d7fd620b027eb433cb7a61cc7 100644 --- a/incremental/common/src/stringUtils.ts +++ b/incremental/common/src/stringUtils.ts @@ -13,6 +13,7 @@ * limitations under the License. */ +import { float64toInt32 } from "@koalaui/compat" import { int32 } from "@koalaui/compat" @@ -22,7 +23,7 @@ import { int32 } from "@koalaui/compat" export function hashCodeFromString(value: string): int32 { let hash = 5381 for(let i = 0; i < value.length; i++) { - hash = (hash * 33) ^ value.charCodeAt(i) + hash = (hash * 33) ^ float64toInt32(value.charCodeAt(i)) hash |= 0 } return hash diff --git a/incremental/compat/src/arkts/observable.ts b/incremental/compat/src/arkts/observable.ts index 979520896cc267a005dae775380026c4b7469401..b9b3038124db9918ae8f10199ca2fe20ae983d24 100644 --- a/incremental/compat/src/arkts/observable.ts +++ b/incremental/compat/src/arkts/observable.ts @@ -544,7 +544,7 @@ class ObservableArray extends Array { return super.includes(val, fromIndex) } - override indexOf(val: T, fromIndex: int): int { + override indexOf(val: T, fromIndex?: int): int { this.handler?.onAccess() return super.indexOf(val, fromIndex) } diff --git a/ui2abc/libarkts/native/src/bridges.cc b/ui2abc/libarkts/native/src/bridges.cc index 3a80f20001e89bfa39514b8a75dac01ab403772c..4aa13bb6a941325745dcbdb7cb768d70f32b6408 100644 --- a/ui2abc/libarkts/native/src/bridges.cc +++ b/ui2abc/libarkts/native/src/bridges.cc @@ -601,10 +601,11 @@ KOALA_INTEROP_5(CreateDiagnosticInfo, KNativePointer, KNativePointer, KNativePoi KStringArray, KInt, KNativePointer) KNativePointer impl_CreateSuggestionInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr, - KInt argc, KStringPtr& substitutionCode, KNativePointer range) + KInt argc, KStringPtr& substitutionCode, KStringPtr& title, KNativePointer range) { const auto _context = reinterpret_cast(context); const auto _kind = reinterpret_cast(kind); + const auto _title = getStringCopy(title); const auto _range = reinterpret_cast(range); const std::size_t headerLen = 4; const char** _args = new const char*[argc]; @@ -617,9 +618,10 @@ KNativePointer impl_CreateSuggestionInfo(KNativePointer context, KNativePointer position += strLen; } const auto _substitutionCode = getStringCopy(substitutionCode); - return GetImpl()->CreateSuggestionInfo(_context, _kind, _args, argc, _substitutionCode, _range); + return GetImpl()->CreateSuggestionInfo(_context, _kind, _args, argc, _substitutionCode, _title, _range); } -KOALA_INTEROP_6(CreateSuggestionInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt, KStringPtr, KNativePointer) +KOALA_INTEROP_7(CreateSuggestionInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt, + KStringPtr, KStringPtr, KNativePointer) void impl_LogDiagnostic(KNativePointer context, KNativePointer kind, KStringArray argvPtr, KInt argc, KNativePointer pos) diff --git a/ui2abc/libarkts/package.json b/ui2abc/libarkts/package.json index fc112cd27f240db4533d1db299cd6f9b73a1a13c..01db3251cacec6703e9ff80ad53f031f39ff45e1 100644 --- a/ui2abc/libarkts/package.json +++ b/ui2abc/libarkts/package.json @@ -28,6 +28,7 @@ "panda_sdk_version": "next" }, "dependencies": { + "@idlizer/arktscgen": "2.1.9-arktscgen-8", "@koalaui/ets-tsc": "4.9.5-r6", "@koalaui/build-common": "1.7.6+devel", "@koalaui/compat": "1.7.6+devel", diff --git a/ui2abc/libarkts/src/Es2pandaNativeModule.ts b/ui2abc/libarkts/src/Es2pandaNativeModule.ts index a1c68a6698b075b09c82a5bcdc264b7607fd9c35..9370dddbbc34b86e3427ec5222c9b31ab454d07b 100644 --- a/ui2abc/libarkts/src/Es2pandaNativeModule.ts +++ b/ui2abc/libarkts/src/Es2pandaNativeModule.ts @@ -216,7 +216,7 @@ export class Es2pandaNativeModule { throw new Error("Not implemented") } _CreateSuggestionInfo(context: KNativePointer, kind: KNativePointer, args: string[], - argc: number, substitutionCode: string, range: KNativePointer): KNativePointer { + argc: number, substitutionCode: string, title: string, range?: KNativePointer): KNativePointer { throw new Error("Not implemented") } _LogDiagnostic(context: KNativePointer, kind: KNativePointer, argv: string[], argc: number, pos: KNativePointer): void { diff --git a/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts b/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts index 5a0075a749c5743dbbf68acb0b20aa282f65e052..0803c318c4614ed20848d0ea4274b69846c4910d 100644 --- a/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +++ b/ui2abc/libarkts/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts @@ -25,9 +25,10 @@ export class SuggestionInfo extends ArktsObject { super(peer); } - static create(kind: DiagnosticKind, substitutionCode: string, range: SourceRange, ...args: string[]): SuggestionInfo { + static create(kind: DiagnosticKind, substitutionCode: string, title:string, range: SourceRange, ...args: string[]): SuggestionInfo { return new SuggestionInfo( - global.es2panda._CreateSuggestionInfo(global.context, kind.peer, passStringArray(args), args.length, substitutionCode, range.peer) + global.es2panda._CreateSuggestionInfo(global.context, kind.peer, passStringArray(args), + args.length, substitutionCode, title, range.peer) ); } diff --git a/ui2abc/package.json b/ui2abc/package.json index 2beca1325bdb6a727505827dd506a102a23c04c0..43404796f21d85994bedcbe04d581af6f16e2b26 100644 --- a/ui2abc/package.json +++ b/ui2abc/package.json @@ -32,6 +32,11 @@ "tsconfig-paths": "^4.2.0", "commander": "^13.1.0" }, + "overrides": { + "ts-node": { + "@types/node": "^18.0.0" + } + }, "scripts": { "clean:all": "npm run clean --prefix libarkts && npm run clean:plugins --prefix libarkts && npm run clean --prefix memo-plugin && npm run runtime:clean --prefix memo-plugin && npm run clean --prefix memo-plugin/demo && npm run clean --prefix ../arkoala-arkts/trivial/user && npm run clean --prefix ../incremental/harness && npm run clean --prefix tests-memo", "build:all": "npm run compile --prefix libarkts && npm run compile --prefix annotate && npm run build:fast-arktsc && npm run build:plugins && npm run compile:plugins --prefix libarkts && npm run runtime:prepare --prefix memo-plugin", diff --git a/ui2abc/ui-plugins/src/struct-recorder.ts b/ui2abc/ui-plugins/src/struct-recorder.ts index 48f3563cc45de3f2033d0af5f1ac66a5497446b5..92b9c7f2e81b8cb7a4972ac3a9cb368cce75e019 100644 --- a/ui2abc/ui-plugins/src/struct-recorder.ts +++ b/ui2abc/ui-plugins/src/struct-recorder.ts @@ -31,7 +31,7 @@ export class StructDescriptor { static fromJSON(parsed: any): StructDescriptor[] { return parsed.structs.map((struct: any) => new StructDescriptor(struct.name, struct.annotations, struct.properties.map((property: any) => - new PropertyDescriptor(property.name, property.decorators) + new PropertyDescriptor(property.name, property.annotations) ) )) } @@ -178,13 +178,10 @@ export class StructTable { ) } static extractDecorators(property: arkts.ClassProperty): string[] { - let decorators = property.decorators - .filter(it => arkts.isIdentifier(it.expr)) - .map(it => (it.expr as arkts.Identifier).name!) let annotations = property.annotations .filter(it => arkts.isIdentifier(it.expr)) .map(it => (it.expr as arkts.Identifier).name!) - return decorators.concat(annotations) + return annotations; } static extractAnnotations(declaration: arkts.ETSStructDeclaration): string[] { let annotations = declaration?.definition?.annotations diff --git a/ui2abc/ui-plugins/src/utils.ts b/ui2abc/ui-plugins/src/utils.ts index e8337dfb6d38596fc4995fca05fb663711a8cdf9..84eaab7bee6abcc0d6e200244932c30a269662de 100644 --- a/ui2abc/ui-plugins/src/utils.ts +++ b/ui2abc/ui-plugins/src/utils.ts @@ -340,7 +340,7 @@ export function hasDecorator(property: return findDecorator(property.definition!.annotations, decoratorName) != undefined } if (arkts.isClassDeclaration(property)) { - return property.decorators.some((anno) => arkts.isIdentifier(anno.expr) && anno.expr.name === decoratorName) + return findDecorator(property.definition!.annotations, decoratorName) != undefined } return findDecorator(property.annotations, decoratorName) != undefined }