diff --git a/arkoala/ets-plugin/src/ApiUtils.ts b/arkoala/ets-plugin/src/ApiUtils.ts index a8ed18c300f3404cd65d5673f4164b15887d1cbd..b469a9d12752177b97e78c8ecd24d9e01cdb9bba 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) ) } diff --git a/arkoala/ets-plugin/test/ets/Rewrite.ets b/arkoala/ets-plugin/test/ets/Rewrite.ets index bff0c025a65023128ce622ca5d3d183f4fbc000f..5f22a4a521dec180b01c5dda9dd6ef2d9838d6a8 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 3e33507d5658e33f19c751a3bd7760c1bb6fd454..2739e0f80a77bfbf3e5baba721b83a78145fe9c2 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 e2af6038c6b6adf4f9f9460c007faff6eec198ec..20ce680c9fb7010358fb56ec0826b84e00e78d0b 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 fc157715083ca0f77f0ff111ef2565fef050621f..3aebde009b074f4bd6924e18a03e8ed779583e69 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 { +}