From 964bc50a2b3980b7c1629dc97bae1cc79c9255c3 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Tue, 11 Feb 2025 18:58:32 +0300 Subject: [PATCH 1/2] Additional fix for statics Signed-off-by: Alexander Gorshenev --- arkoala/ets-plugin/src/ApiUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arkoala/ets-plugin/src/ApiUtils.ts b/arkoala/ets-plugin/src/ApiUtils.ts index a8ed18c30..b469a9d12 100644 --- a/arkoala/ets-plugin/src/ApiUtils.ts +++ b/arkoala/ets-plugin/src/ApiUtils.ts @@ -258,7 +258,7 @@ export function isStatic(node: ts.Node): boolean { if (!ts.canHaveModifiers(node)) return false const modifierLikes = ts.getModifiers(node) return !!(modifierLikes?.find(it => - it.kind != ts.SyntaxKind.StaticKeyword) + it.kind == ts.SyntaxKind.StaticKeyword) ) } -- Gitee From 20c03982f6c19a9579dcb4ef52b3e8b0435861d3 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Tue, 11 Feb 2025 19:03:01 +0300 Subject: [PATCH 2/2] more Signed-off-by: Alexander Gorshenev --- arkoala/ets-plugin/test/ets/Rewrite.ets | 6 +++++ .../test/golden/arkoala/ets/Rewrite.ts | 25 +++++++++++++++++++ .../test/golden/arkts/ets/Rewrite.ts | 25 +++++++++++++++++++ .../test/golden/koala/ets/Rewrite.ts | 25 +++++++++++++++++++ 4 files changed, 81 insertions(+) diff --git a/arkoala/ets-plugin/test/ets/Rewrite.ets b/arkoala/ets-plugin/test/ets/Rewrite.ets index bff0c025a..5f22a4a52 100644 --- a/arkoala/ets-plugin/test/ets/Rewrite.ets +++ b/arkoala/ets-plugin/test/ets/Rewrite.ets @@ -312,3 +312,9 @@ struct ChildWithBuilder { } } +@Component +struct StaticField { + static x: number = 17 + build() {} +} + diff --git a/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts index 3e33507d5..2739e0f80 100644 --- a/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/arkoala/ets/Rewrite.ts @@ -659,6 +659,20 @@ class ArkChildWithBuilderComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions): void { + } + static x: number = 17; + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions) { } +} /** @memo */ export function EntryExample(/**/ /** @memo */ @@ -949,6 +963,15 @@ content?: () => void, initializers?: ChildWithBuilderOptions): void { const updatedInitializers: ChildWithBuilderOptions = {}; ArkChildWithBuilderComponent._instantiate(style, () => new ArkChildWithBuilderComponent, content, updatedInitializers); } +/** @memo */ +export function StaticField(/**/ +/** @memo */ +style?: (__instance: ArkCommonMethodComponent) => void, /**/ +/** @memo */ +content?: () => void, initializers?: StaticFieldOptions): void { + const updatedInitializers: StaticFieldOptions = {}; + ArkStaticFieldComponent._instantiate(style, () => new ArkStaticFieldComponent, content, updatedInitializers); +} export interface EntryExampleOptions { } registerArkuiEntry(EntryExample, "Rewrite"); @@ -1037,3 +1060,5 @@ export interface BuilderPropagationExampleOptions { } export interface ChildWithBuilderOptions { } +export interface StaticFieldOptions { +} diff --git a/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts index e2af6038c..20ce680c9 100644 --- a/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/arkts/ets/Rewrite.ts @@ -661,6 +661,20 @@ class ArkChildWithBuilderComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions): void { + } + static x: number = 17; + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions) { } +} /** @memo */ export function EntryExample(/**/ /** @memo */ @@ -951,6 +965,15 @@ content?: () => void, initializers?: ChildWithBuilderOptions): void { const updatedInitializers: ChildWithBuilderOptions = {}; ArkChildWithBuilderComponent._instantiate(style, () => new ArkChildWithBuilderComponent, content, updatedInitializers); } +/** @memo */ +export function StaticField(/**/ +/** @memo */ +style?: (__instance: ArkCommonMethodComponent) => void, /**/ +/** @memo */ +content?: () => void, initializers?: StaticFieldOptions): void { + const updatedInitializers: StaticFieldOptions = {}; + ArkStaticFieldComponent._instantiate(style, () => new ArkStaticFieldComponent, content, updatedInitializers); +} export interface EntryExampleOptions { } export interface ComponentExampleOptions { @@ -1037,3 +1060,5 @@ export interface BuilderPropagationExampleOptions { } export interface ChildWithBuilderOptions { } +export interface StaticFieldOptions { +} diff --git a/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts b/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts index fc1577150..3aebde009 100644 --- a/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts +++ b/arkoala/ets-plugin/test/golden/koala/ets/Rewrite.ts @@ -657,6 +657,20 @@ class ArkChildWithBuilderComponent extends ArkStructBase { + private _entry_local_storage_ = new LocalStorage(); + __initializeStruct(/**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions): void { + } + static x: number = 17; + /** @memo */ + __build(/**/ + /** @memo */ + __builder: ((__instance: ArkCommonMethodComponent) => void) | undefined, /**/ + /** @memo */ + content?: () => void, initializers?: StaticFieldOptions) { } +} /** @memo */ export function EntryExample(/**/ /** @memo */ @@ -947,6 +961,15 @@ content?: () => void, initializers?: ChildWithBuilderOptions): void { const updatedInitializers: ChildWithBuilderOptions = {}; ArkChildWithBuilderComponent._instantiate(style, () => new ArkChildWithBuilderComponent, content, updatedInitializers); } +/** @memo */ +export function StaticField(/**/ +/** @memo */ +style?: (__instance: ArkCommonMethodComponent) => void, /**/ +/** @memo */ +content?: () => void, initializers?: StaticFieldOptions): void { + const updatedInitializers: StaticFieldOptions = {}; + ArkStaticFieldComponent._instantiate(style, () => new ArkStaticFieldComponent, content, updatedInitializers); +} export interface EntryExampleOptions { } registerArkuiEntry(EntryExample, "Rewrite"); @@ -1035,3 +1058,5 @@ export interface BuilderPropagationExampleOptions { } export interface ChildWithBuilderOptions { } +export interface StaticFieldOptions { +} -- Gitee