From c0dcb2604125a2061411b8fb1333242940b677b8 Mon Sep 17 00:00:00 2001 From: cheezzario Date: Tue, 22 Jul 2025 18:35:21 +0300 Subject: [PATCH] Change escompat.Array 'length' property type from 'number' to 'int' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: Change escompat.Array 'length' property type from 'number' to 'int' Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICM801 是否涉及非兼容变更:否 TDD自验结果:Pass XTS自验结果:Pass Signed-off-by: cheezzario Change-Id: If3e69f5571ab7217baddf21b54ec53f2d388285e --- .../arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts | 4 ++-- .../src/stateManagement/base/observeWrappedArray.ts | 4 ++-- .../koala_projects/incremental/runtime/src/states/State.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts index d4691a87f95..49b83b96df1 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/handwritten/RepeatImpl.ts @@ -210,7 +210,7 @@ function virtualRender( repeatId: KoalaCallsiteKey, ): void { let dataSource = remember(() => new RepeatDataSource(arr)); - const total = attributes.userDefinedTotal_ ?? arr.length; + const total = attributes.userDefinedTotal_ ?? arr.length.toDouble(); dataSource.updateData(arr, (Number.isInteger(total) && total >= 0) ? total : arr.length); if (!attributes.onLazyLoading_ && dataSource.totalCount() > arr.length) { console.error(`(${repeatId}) totalCount must not exceed the array length without onLazyLoading callback.`); @@ -256,4 +256,4 @@ function nonVirtualRender(arr: RepeatArray, const ri = new RepeatItemImpl(ele, (i as number)); itemGenerator(ri); }); -} \ No newline at end of file +} diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts index fbc5abc7582..d35fc440efd 100755 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/stateManagement/base/observeWrappedArray.ts @@ -65,14 +65,14 @@ export class WrappedArray extends Array implements IObservedObject, Observ return ObserveSingleton.instance.shouldAddRef(this.____V1RenderId); } - override get length(): number { + override get length(): int { if (this.shouldAddRef()) { this.meta_.addRef(CONSTANT.OB_LENGTH); } return this.store_.length; } - override set length(newLen: number) { + override set length(newLen: int) { const len = this.store_.length; if (len !== newLen) { this.store_.length; diff --git a/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts b/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts index 1f6cf62acd2..ac2f0eba9d1 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/incremental/runtime/src/states/State.ts @@ -419,7 +419,7 @@ class ArrayStateImpl extends StateImpl> implements ArrayState< } set length(value: number) { - this.mutable.length = value + this.mutable.length = value.toInt() } at(index: number): Item { @@ -465,7 +465,7 @@ class ArrayStateImpl extends StateImpl> implements ArrayState< splice(start: number, deleteCount: number | undefined, ...items: Item[]): Array { const array = this.mutable - return array.splice(start, deleteCount ?? array.length, ...items) + return array.splice(start, deleteCount ?? array.length.toDouble(), ...items) } unshift(...items: Item[]): number { -- Gitee